{
  "openapi": "3.0.0",
  "info": {
    "title": "Hifi API",
    "version": "2.0.0",
    "description": "API documentation for HIFI"
  },
  "servers": [
    {
      "url": "https://production.hifibridge.com",
      "description": "Production server"
    },
    {
      "url": "https://sandbox.hifibridge.com",
      "description": "Sandbox server"
    }
  ],
  "tags": [
    {
      "name": "Common",
      "description": "Common endpoints"
    },
    {
      "name": "User",
      "description": "User endpoints"
    },
    {
      "name": "Kyc",
      "description": "Kyc endpoints"
    },
    {
      "name": "RFI",
      "description": "Request for information (RFI) endpoints"
    },
    {
      "name": "Wallet",
      "description": "Wallet endpoints"
    },
    {
      "name": "Account",
      "description": "Account endpoints"
    },
    {
      "name": "External Account",
      "description": "External Account endpoints for managing beneficiary bank accounts"
    },
    {
      "name": "Virtual Account",
      "description": "Virtual Account endpoints"
    },
    {
      "name": "Onramp",
      "description": "Onramp endpoints"
    },
    {
      "name": "Offramp",
      "description": "Offramp endpoints"
    },
    {
      "name": "Orchestration Address",
      "description": "Orchestration Address endpoints — persistent on-chain wallets that automatically off-ramp incoming stablecoin deposits to a USD bank account"
    },
    {
      "name": "Crypto Transfer",
      "description": "Crypto Transfer endpoints"
    },
    {
      "name": "Cross-Chain Bridge",
      "description": "Cross-Chain Bridge endpoints"
    },
    {
      "name": "Token Swap",
      "description": "Token Swap endpoints"
    },
    {
      "name": "Canton Offers",
      "description": "Canton Offers endpoints"
    },
    {
      "name": "Transfer Rules",
      "description": "Transfer approval rules and configuration"
    },
    {
      "name": "Transfer Approvals",
      "description": "Transfer approval workflow and admin actions"
    },
    {
      "name": "File",
      "description": "File endpoints"
    },
    {
      "name": "Reporting",
      "description": "Reporting and metrics endpoints"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "parameters": {
      "AccountIdPathParameter": {
        "name": "accountId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the account",
        "required": true
      },
      "CurrencyParameter": {
        "name": "currency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usd",
            "brl",
            "mxn",
            "ars",
            "cop",
            "kes",
            "zmw",
            "mwk",
            "tzs",
            "xaf",
            "xof",
            "ngn",
            "ugx",
            "bwp",
            "ghs"
          ]
        },
        "description": "Please provide at least one of the following query params: currency, railType. Eg. Setting 'currency' to 'usd' without setting 'railType' and 'paymentRail' will return all usd accounts under any railType or paymentRail.",
        "required": false
      },
      "VALimitParameter": {
        "name": "limit",
        "in": "query",
        "schema": {
          "type": "string",
          "minimum": 1,
          "maximum": 100
        },
        "description": "Number of micro deposit records return for the virtual account, default to 10 maximum to 100",
        "required": false
      },
      "VACreatedBeforeParameter": {
        "name": "createdBefore",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "Return the micro deposit records that created before this eventId",
        "required": false
      },
      "VACreatedAfterParameter": {
        "name": "createdAfter",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "Return the micro deposit records that created after this eventId",
        "required": false
      },
      "VASourceCurrencyParameter": {
        "name": "sourceCurrency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usd"
          ]
        },
        "description": "Source currency",
        "required": false
      },
      "VADestinationCurrencyParameter": {
        "name": "destinationCurrency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usdc",
            "usdt"
          ]
        },
        "description": "Destination currency",
        "required": false
      },
      "VADestinationChainParameter": {
        "name": "destinationChain",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "POLYGON"
          ]
        },
        "description": "Destination chain",
        "required": false
      },
      "AccountTypeOptionalParameter": {
        "name": "type",
        "in": "query",
        "schema": {
          "$ref": "#/components/schemas/AccountTypeEnum"
        },
        "description": "account type",
        "required": false
      },
      "VirtualAccountIdPathParameter": {
        "name": "accountId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the virtual account",
        "required": true
      },
      "AccountRailOptionalParameter": {
        "name": "rail",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "onramp",
            "offramp"
          ]
        },
        "description": "onramp or offramp",
        "required": false
      },
      "CurrencyAnyOptionalParameter": {
        "name": "currency",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "RuleIdPathParameter": {
        "name": "ruleId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the settlement rule",
        "required": true
      },
      "SettlementRuleCreatedBeforeParameter": {
        "name": "createdBefore",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "Return the settlement rules that created before this date",
        "required": false
      },
      "SettlementRuleCreatedAfterParameter": {
        "name": "createdAfter",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "Return the settlement rules that created after this date",
        "required": false
      },
      "SettlementRuleChainParameter": {
        "name": "chain",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "BASE",
            "POLYGON",
            "ETHEREUM",
            "SOLANA",
            "TRON"
          ]
        },
        "description": "Return the settlement rules that are created on this chain",
        "required": false
      },
      "SettlementRuleLimitParameter": {
        "name": "limit",
        "in": "query",
        "schema": {
          "type": "string",
          "minimum": 1,
          "maximum": 100
        },
        "description": "Number of settlement rules to return, default to 10 maximum to 100",
        "required": false
      },
      "TransferIdPathParameter": {
        "name": "transferId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the transfer",
        "required": true
      },
      "WalletIdPathParameter": {
        "name": "walletId",
        "in": "path",
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "description": "ID of the wallet",
        "required": true
      },
      "OfferIdPathParameter": {
        "name": "offerId",
        "in": "path",
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "description": "ID of the Canton offer",
        "required": true
      },
      "LimitParameter": {
        "name": "limit",
        "in": "query",
        "schema": {
          "type": "string",
          "minimum": 1,
          "maximum": 100
        },
        "description": "default to 10, maximum to 100",
        "required": false
      },
      "CreatedBeforeParameter": {
        "name": "createdBefore",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "date"
        },
        "description": "ISO format: YYYY-MM-DD",
        "required": false
      },
      "CreatedAfterParameter": {
        "name": "createdAfter",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "date"
        },
        "description": "ISO format: YYYY-MM-DD",
        "required": false
      },
      "ExternalAccountIdPathParameter": {
        "name": "accountId",
        "in": "path",
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "description": "ID of the external account",
        "required": true
      },
      "MCAccountRecipientTypeParameter": {
        "name": "type",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "type of recipient",
        "required": false
      },
      "MCAccountRecipientIdParameter": {
        "name": "recipientId",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "ID of the recipient",
        "required": false
      },
      "MCAccountRecipientStatusParameter": {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "NOT_INITIATED",
            "PENDING",
            "AVAILABLE",
            "DECLINED"
          ]
        },
        "description": "status of the recipient",
        "required": false
      },
      "MCAccountTransferSourceCurrencyParameter": {
        "name": "sourceCurrency",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "sourceCurrency of the transfer",
        "required": false
      },
      "MCAccountTransferDestinationCurrencyParameter": {
        "name": "destinationCurrency",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "destinationCurrency of the transfer",
        "required": false
      },
      "MCAccountTransferStatusParameter": {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "NOT_INITIATED",
            "PENDING",
            "PROCESSING",
            "SUCCESS",
            "FAIL"
          ]
        },
        "description": "status of the transfer",
        "required": false
      },
      "MCAccountRecipientIdPathParameter": {
        "name": "recipientId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the recipient",
        "required": true
      },
      "MCAccountTransferIdPathParameter": {
        "name": "transferId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the transfer",
        "required": true
      },
      "ForexSourceCurrencyParameter": {
        "name": "sourceCurrency",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "sourceCurrency of the currency exchange order",
        "required": false
      },
      "ForexDestinationCurrencyParameter": {
        "name": "destinationCurrency",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "destinationCurrency of the currency exchange order",
        "required": false
      },
      "ForexStatusParameter": {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "NOT_INITIATED",
            "PENDING",
            "AVAILABLE",
            "DECLINED",
            "SUSPENDED",
            "CLOSING",
            "CLOSED"
          ]
        },
        "description": "status of the currency exchange order",
        "required": false
      },
      "ForexOrderIdPathParameter": {
        "name": "orderId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the currency exchange order",
        "required": true
      },
      "RailsTypeOptionalParameter": {
        "name": "rails",
        "in": "query",
        "schema": {
          "$ref": "#/components/schemas/RailsEnum"
        },
        "description": "The type of rail.",
        "required": false
      },
      "RailsTypeParameter": {
        "name": "rails",
        "in": "query",
        "schema": {
          "$ref": "#/components/schemas/RailsEnum"
        },
        "required": true
      },
      "KycStatusOptionalParameter": {
        "name": "status",
        "in": "query",
        "schema": {
          "$ref": "#/components/schemas/KycStatusEnum"
        },
        "required": false
      },
      "KycStatusArrayOptionalParameter": {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/KycStatusEnum"
          },
          "minItems": 1
        },
        "description": "The statuses of the KYC.",
        "required": false
      },
      "UboIdPathParameter": {
        "name": "uboId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "The ID of the Ultimate Beneficial Owner (UBO).",
        "required": true
      },
      "DocumentIdPathParameter": {
        "name": "documentId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "The ID of the document.",
        "required": true
      },
      "MCAccountIdParameter": {
        "name": "currencyAccountId",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "ID of the currency account",
        "required": false
      },
      "MCAccountCurrencyParameter": {
        "name": "currency",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "currency",
        "required": false
      },
      "MCAccountStatusParameter": {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "NOT_INITIATED",
            "PENDING",
            "AVAILABLE",
            "DECLINED",
            "SUSPENDED",
            "CLOSING",
            "CLOSED"
          ]
        },
        "description": "account application status",
        "required": false
      },
      "MCAccountBankLocationParameter": {
        "name": "bankLocation",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "The three-letter alpha-3 country code of the bank location",
        "required": false
      },
      "MCAccountDepositStatusParameter": {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "PENDING",
            "APPROVED",
            "CLOSED",
            "REJECTED",
            "CANCELED",
            "REFUNDED"
          ]
        },
        "description": "status of the deposit",
        "required": false
      },
      "MCAccountIdPathParameter": {
        "name": "currencyAccountId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the currency account",
        "required": true
      },
      "MCAccountDepositPathParameter": {
        "name": "depositId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the deposit",
        "required": true
      },
      "MCAccountStoreIdPathParameter": {
        "name": "storeId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the store",
        "required": true
      },
      "OfframpRecordIDPathParameter": {
        "name": "transferId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "Transfer record ID.",
        "required": true
      },
      "FromCryptoCurrencyParameter": {
        "name": "fromCurrency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usdc"
          ]
        },
        "required": true
      },
      "ToFiatCurrencyParameter": {
        "name": "toCurrency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usd",
            "brl",
            "mxn",
            "ugx",
            "ngn",
            "kes",
            "tzs",
            "mwk",
            "xaf",
            "bwp",
            "zar",
            "usd-hka",
            "usd-chn",
            "cny",
            "hkd",
            "sgd",
            "usd-sgp",
            "inr",
            "aud",
            "cad",
            "gbp",
            "jpy",
            "vnd"
          ]
        },
        "required": true
      },
      "CryptoTransferRecordIDPathParameter": {
        "name": "transferId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "Transfer record ID.",
        "required": true
      },
      "BridgingRequestIDPathParameter": {
        "name": "transferId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "Transfer record ID.",
        "required": true
      },
      "BatchCryptoTransferRecordIDPathParameter": {
        "name": "transferId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "Transfer record ID.",
        "required": true
      },
      "SwapTransferIDPathParameter": {
        "name": "swapId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "Swap transfer record ID.",
        "required": true
      },
      "SwapRateSourceCurrencyParameter": {
        "name": "sourceCurrency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usdc",
            "usdt"
          ]
        },
        "description": "Currency being swapped from.",
        "required": true
      },
      "SwapRateDestinationCurrencyParameter": {
        "name": "destinationCurrency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usdc",
            "usdt"
          ]
        },
        "description": "Currency being swapped to.",
        "required": true
      },
      "SwapRateAmountParameter": {
        "name": "amount",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "Amount of sourceCurrency to swap.",
        "required": true
      },
      "OnrampRecordIDPathParameter": {
        "name": "transferId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "Transfer record ID.",
        "required": true
      },
      "FromFiatCurrencyParameter": {
        "name": "fromCurrency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usd",
            "ugx",
            "ngn",
            "bwp",
            "tzs",
            "mwk",
            "xaf",
            "kes"
          ]
        },
        "required": true
      },
      "ToCryptoCurrencyParameter": {
        "name": "toCurrency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usdc"
          ]
        },
        "required": true
      },
      "OrchestrationAddressIdPathParameter": {
        "name": "orchestrationAddressId",
        "in": "path",
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "required": true,
        "description": "ID of the orchestration address."
      },
      "OrchestrationDepositIdPathParameter": {
        "name": "depositId",
        "in": "path",
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "required": true,
        "description": "ID of the orchestration deposit. Deterministically derived from the\nprovider's deposit reference and escrow wallet ID, so the same on-chain\ndeposit always maps to the same `depositId` across webhook re-deliveries.\n"
      },
      "OrchestrationBatchIdPathParameter": {
        "name": "batchId",
        "in": "path",
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "required": true,
        "description": "ID of the orchestration batch."
      },
      "OrchestrationProfileIdQueryParameter": {
        "name": "profileId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "required": false,
        "description": "Optional profile (client/organization) scope. When omitted the request is\nscoped to the caller's default profile. Used by `requestId` idempotency:\naddresses are unique per `(profileId, requestId)`.\n"
      },
      "OrchestrationLimitQueryParameter": {
        "name": "limit",
        "in": "query",
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 200,
          "default": 50
        },
        "required": false,
        "description": "Maximum number of records to return. 1–200, defaults to 50."
      },
      "OrchestrationCreatedAfterQueryParameter": {
        "name": "createdAfter",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "required": false,
        "description": "Inclusive lower bound on `createdAt` (ISO 8601). Only records created at or after this timestamp are returned."
      },
      "OrchestrationCreatedBeforeQueryParameter": {
        "name": "createdBefore",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "required": false,
        "description": "Cursor for the next page. Pass the previous response's `nextCursor` value to return records created strictly before that timestamp."
      },
      "OrchestrationDepositStatusQueryParameter": {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "PENDING",
            "BATCHED",
            "IGNORED",
            "REFUNDED"
          ]
        },
        "required": false,
        "description": "Filter deposits by status."
      },
      "OrchestrationDepositBatchIdQueryParameter": {
        "name": "batchId",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "required": false,
        "description": "Filter deposits to those included in a specific batch."
      },
      "OrchestrationBatchStatusQueryParameter": {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "PENDING",
            "PROCESSING",
            "COMPLETED",
            "FAILED"
          ]
        },
        "required": false,
        "description": "Filter batches by status."
      },
      "RfiIdPathParameter": {
        "name": "rfiId",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "description": "ID of the request for information.",
        "example": "7c9e1a34-5b02-4d68-91af-3e6d2b8c4075"
      },
      "RfiStatusQueryParameter": {
        "name": "status",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "issued",
            "submitted",
            "resolved",
            "expired"
          ]
        },
        "description": "Filter requests by status."
      },
      "RfiKindQueryParameter": {
        "name": "kind",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "onboarding",
            "transaction"
          ]
        },
        "description": "Filter requests by what they are attached to."
      },
      "RfiUserIdQueryParameter": {
        "name": "userId",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "description": "ID of the user whose requests are listed.",
        "example": "2d5b7e18-9c40-4a63-b8f1-7e0a4c9d2536"
      },
      "RfiTransferIdQueryParameter": {
        "name": "transferId",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "description": "ID of the onramp or offramp the request is held against.",
        "example": "9b1e4c72-3a58-4f06-8d2b-6c0e7a1f5d43"
      },
      "RfiLimitParameter": {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 20
        },
        "description": "Number of requests to return."
      },
      "RfiOffsetParameter": {
        "name": "offset",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 0,
          "default": 0
        },
        "description": "Number of requests to skip."
      },
      "FromCurrencyParameter": {
        "name": "fromCurrency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usdc"
          ]
        },
        "required": true
      },
      "ToCurrencyParameter": {
        "name": "toCurrency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usd",
            "eur",
            "brl",
            "mxn",
            "ars",
            "cop"
          ]
        },
        "required": true
      },
      "ToCurrencyConversionParameter": {
        "name": "toCurrency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usd",
            "eur",
            "brl",
            "mxn",
            "ars",
            "cop",
            "ugx",
            "ngn",
            "kes",
            "xof",
            "rwf",
            "tzs",
            "zmw",
            "mwk",
            "xaf"
          ]
        },
        "required": true
      },
      "TransferRecordIDPathParameter": {
        "name": "transferId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "Transfer record ID.",
        "required": true
      },
      "UserIdOptionalParameter": {
        "name": "userId",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "The user ID.",
        "required": false
      },
      "UserTypeV2Parameter": {
        "name": "type",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "individual",
            "business"
          ]
        },
        "description": "If passed, you will get all users under the type.",
        "required": false
      },
      "UserFirstNameParameter": {
        "name": "firstName",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "If passed, you will get all users with the case-insensitive partial match of `firstName`.\n",
        "required": false
      },
      "UserLastNameParameter": {
        "name": "lastName",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "If passed, you will get all users with the case-insensitive partial match of `lastName`.\n",
        "required": false
      },
      "UserNameParameter": {
        "name": "userName",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "UserBusinessNameParameter": {
        "name": "businessName",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "If passed, you will get all users with the case-insensitive partial match of `businessName`.\n",
        "required": false
      },
      "UserSearchParameter": {
        "name": "search",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "If passed, you will get all users with the case-insensitive partial match of `search` in the first name, last name, business name, or email. If the search is a valid UUID, you will get the user with the matching ID.\n",
        "required": false
      },
      "UserEmailParameter": {
        "name": "email",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "If passed, you will get all users with the case-insensitive partial match of `email`.\n",
        "required": false
      },
      "UserEmailV2Parameter": {
        "name": "userEmail",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "required": false
      },
      "ChainParameter": {
        "name": "chain",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "POLYGON",
            "ETHEREUM",
            "SOLANA",
            "BASE",
            "TRON"
          ]
        },
        "description": "The blockchain network to retrieve the wallet balance from.",
        "required": true
      },
      "CryptoCurrencyParameter": {
        "name": "currency",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "usdc",
            "usdt",
            "usdg",
            "pyusd"
          ]
        },
        "description": "The type of currency to check the balance for.",
        "required": true
      },
      "UserIdPathParameter": {
        "name": "userId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the user",
        "required": true
      },
      "SignedAgreementIdPathParameter": {
        "name": "signedAgreementId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the signed agreement",
        "required": true
      },
      "ExternalWalletIdPathParameter": {
        "name": "externalWalletId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the external wallet",
        "required": true
      },
      "DepositIdPathParameter": {
        "name": "depositId",
        "in": "path",
        "schema": {
          "type": "string"
        },
        "description": "ID of the deposit",
        "required": true
      },
      "WalletDepositStatusParameter": {
        "name": "status",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "CONFIRMED",
            "COMPLETED"
          ]
        },
        "description": "Status of the deposit, CONFIRMED indicates the deposit is found in the blockchain, COMPLETED indicates the deposit is completed and unlikely to be reverted.",
        "required": false
      },
      "MinAmountParameter": {
        "name": "minAmount",
        "in": "query",
        "schema": {
          "type": "number"
        },
        "description": "Minimum amount of the deposit, default is 0.01",
        "required": false
      }
    },
    "requestBodies": {
      "CreateAccountBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "requestId": {
                      "type": "string",
                      "format": "uuid",
                      "description": "Optional idempotency key (UUID). Reusing the same requestId for the same user returns the account created by the first request instead of creating a duplicate. Reusing the same requestId with a different request body returns 409 Conflict. If omitted, a new account is created on every request."
                    }
                  }
                },
                {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateAccount"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUsAccount"
                    },
                    {
                      "$ref": "#/components/schemas/CreateIndiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateIndiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBrazilGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBrazilGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFranceGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFranceGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUnitedKingdomGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUnitedKingdomGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateLithuaniaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateLithuaniaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNetherlandsGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNetherlandsGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateHungaryGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateHungaryGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGreeceGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGreeceGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAustriaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAustriaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateIrelandGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateIrelandGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePortugalGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePortugalGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateDenmarkGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateDenmarkGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNorwayGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNorwayGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCroatiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCroatiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSlovakiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSlovakiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSwedenGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSwedenGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePolandGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePolandGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSloveniaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSloveniaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateRomaniaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateRomaniaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFinlandGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFinlandGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateLatviaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateLatviaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCzechRepublicGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCzechRepublicGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSerbiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSerbiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateEstoniaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateEstoniaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCyprusGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCyprusGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateJapanGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateJapanGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSouthAfricaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSouthAfricaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateChileGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateChileGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBelgiumGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBelgiumGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateThailandGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateThailandGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateIndonesiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateIndonesiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBulgariaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBulgariaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateIcelandGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateIcelandGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateLuxembourgGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateLuxembourgGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMaltaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMaltaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateLiechtensteinGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateLiechtensteinGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSouthKoreaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSouthKoreaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTaiwanGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTaiwanGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateColombiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateColombiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateArgentinaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateArgentinaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateKenyaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateKenyaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAustraliaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAustraliaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNewZealandGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNewZealandGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePanamaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePanamaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateParaguayGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateParaguayGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGeorgiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGeorgiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateIsraelGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateIsraelGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTurkeyGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTurkeyGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCanadaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCanadaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMexicoGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMexicoGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNigeriaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNigeriaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateHongKongGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateHongKongGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateChinaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateChinaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateItalyGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateItalyGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSpainGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSpainGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGermanyGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGermanyGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUnitedArabEmiratesGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUnitedArabEmiratesGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaudiArabiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaudiArabiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBahrainGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBahrainGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMacauGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMacauGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUruguayGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUruguayGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGuatemalaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGuatemalaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBritishVirginIslandsGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBritishVirginIslandsGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateVietnamGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateVietnamGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSingaporeGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSingaporeGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMalaysiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMalaysiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateOmanGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateOmanGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePeruGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePeruGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAlgeriaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAlgeriaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAmericanSamoaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAmericanSamoaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAngolaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAngolaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAnguillaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAnguillaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAntiguaAndBarbudaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAntiguaAndBarbudaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateArmeniaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateArmeniaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateArubaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateArubaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAzerbaijanGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAzerbaijanGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBahamasGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBahamasGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBangladeshGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBangladeshGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBarbadosGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBarbadosGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBelizeGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBelizeGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBeninGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBeninGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBermudaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBermudaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBhutanGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBhutanGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBoliviaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBoliviaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBotswanaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBotswanaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBritishIndianOceanTerritoryGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBritishIndianOceanTerritoryGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBruneiGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateBruneiGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCaboVerdeGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCaboVerdeGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCaymanIslandsGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCaymanIslandsGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateChristmasIslandGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateChristmasIslandGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCocosIslandsGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCocosIslandsGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateComorosGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateComorosGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCookIslandsGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCookIslandsGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCostaRicaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCostaRicaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCoteDIvoireGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCoteDIvoireGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCuracaoGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateCuracaoGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateDjiboutiGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateDjiboutiGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateDominicaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateDominicaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateDominicanRepublicGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateDominicanRepublicGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateEcuadorGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateEcuadorGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateEgyptGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateEgyptGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateElSalvadorGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateElSalvadorGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateEquatorialGuineaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateEquatorialGuineaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateEswatiniGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateEswatiniGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFalklandIslandsGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFalklandIslandsGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFaroeIslandsGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFaroeIslandsGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFijiGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFijiGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFrenchGuianaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFrenchGuianaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFrenchPolynesiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateFrenchPolynesiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGambiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGambiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGhanaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGhanaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGibraltarGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGibraltarGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGreenlandGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGreenlandGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGrenadaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGrenadaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGuadeloupeGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGuadeloupeGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGuamGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGuamGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGuineaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGuineaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGuyanaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateGuyanaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateHondurasGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateHondurasGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateIsleOfManGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateIsleOfManGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateJerseyGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateJerseyGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateJordanGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateJordanGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateKazakhstanGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateKazakhstanGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateKiribatiGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateKiribatiGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateKuwaitGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateKuwaitGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateKyrgyzstanGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateKyrgyzstanGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateLesothoGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateLesothoGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMadagascarGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMadagascarGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMalawiGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMalawiGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMaldivesGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMaldivesGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMarshallIslandsGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMarshallIslandsGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMartiniqueGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMartiniqueGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMauritaniaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMauritaniaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMauritiusGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMauritiusGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMayotteGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMayotteGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMicronesiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMicronesiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMongoliaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMongoliaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMontserratGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMontserratGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMoroccoGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateMoroccoGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNamibiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNamibiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNauruGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNauruGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNepalGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNepalGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNewCaledoniaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNewCaledoniaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNigerGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNigerGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNiueGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNiueGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNorfolkIslandGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNorfolkIslandGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNorthernMarianaIslandsGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateNorthernMarianaIslandsGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePakistanGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePakistanGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePalauGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePalauGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePapuaNewGuineaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePapuaNewGuineaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePitcairnGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePitcairnGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePuertoRicoGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreatePuertoRicoGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateQatarGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateQatarGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateReunionGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateReunionGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateRwandaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateRwandaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintBarthelemyGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintBarthelemyGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintHelenaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintHelenaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintKittsAndNevisGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintKittsAndNevisGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintLuciaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintLuciaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintMartinGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintMartinGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintPierreAndMiquelonGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintPierreAndMiquelonGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintVincentAndTheGrenadinesGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaintVincentAndTheGrenadinesGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSamoaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSamoaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaoTomeAndPrincipeGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSaoTomeAndPrincipeGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSenegalGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSenegalGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSeychellesGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSeychellesGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSierraLeoneGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSierraLeoneGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSintMaartenGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSintMaartenGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSolomonIslandsGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSolomonIslandsGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSriLankaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSriLankaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSurinameGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSurinameGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSvalbardAndJanMayenGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateSvalbardAndJanMayenGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTajikistanGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTajikistanGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTimorLesteGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTimorLesteGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTogoGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTogoGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTokelauGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTokelauGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTongaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTongaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTrinidadAndTobagoGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTrinidadAndTobagoGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTunisiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTunisiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTurkmenistanGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTurkmenistanGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTurksAndCaicosIslandsGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTurksAndCaicosIslandsGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTuvaluGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateTuvaluGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUsVirginIslandsGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUsVirginIslandsGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUgandaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUgandaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUzbekistanGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateUzbekistanGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateVanuatuGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateVanuatuGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateWallisAndFutunaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateWallisAndFutunaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateWesternSaharaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateWesternSaharaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateZambiaGlobalNetworkAccountIndividual"
                    },
                    {
                      "$ref": "#/components/schemas/CreateZambiaGlobalNetworkAccountBusiness"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAfricaOnrampAccount"
                    },
                    {
                      "$ref": "#/components/schemas/CreateAfricaOfframpAccount"
                    }
                  ]
                }
              ]
            }
          }
        }
      },
      "CreateVirtualAccountBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateVirtualAccount"
            }
          }
        }
      },
      "UpdateVirtualAccountBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateVirtualAccount"
            }
          }
        }
      },
      "SimulateVirtualAccountDepositBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SimulateVirtualAccountDeposit"
            }
          }
        }
      },
      "CreateSettlementRuleBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateSettlementRule"
            }
          }
        }
      },
      "UpdateSettlementRuleBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateSettlementRule"
            }
          }
        }
      },
      "CreateExternalAccountBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/CreateExternalAccountACH"
                },
                {
                  "$ref": "#/components/schemas/CreateExternalAccountWire"
                },
                {
                  "$ref": "#/components/schemas/CreateExternalAccountSWIFT"
                },
                {
                  "$ref": "#/components/schemas/CreateExternalAccountPIX"
                },
                {
                  "$ref": "#/components/schemas/CreateExternalAccountSPEI"
                },
                {
                  "$ref": "#/components/schemas/CreateExternalAccountMoMo"
                }
              ]
            },
            "examples": {
              "ACHExample": {
                "summary": "ACH Account (US)",
                "value": {
                  "direction": "offramp",
                  "country": "USA",
                  "currency": "USD",
                  "rail": "ach",
                  "accountHolder": {
                    "type": "individual",
                    "name": "John Doe",
                    "email": "john@example.com",
                    "phone": "+14155551234",
                    "address": {
                      "addressLine1": "123 Main Street",
                      "city": "New York",
                      "stateProvinceRegion": "NY",
                      "postalCode": "10001",
                      "country": "USA"
                    }
                  },
                  "accountDetails": {
                    "accountNumber": "123456789",
                    "routingNumber": "021000021",
                    "accountType": "checking",
                    "bankName": "Chase Bank"
                  }
                }
              },
              "SWIFTExample": {
                "summary": "SWIFT Account (International)",
                "value": {
                  "direction": "offramp",
                  "country": "BRA",
                  "currency": "USD",
                  "rail": "swift",
                  "accountHolder": {
                    "type": "individual",
                    "name": "Maria Silva",
                    "email": "maria@example.com",
                    "phone": "+5511999999999",
                    "address": {
                      "addressLine1": "Rua Example 123",
                      "city": "Sao Paulo",
                      "stateProvinceRegion": "SP",
                      "postalCode": "01310-100",
                      "country": "BRA"
                    }
                  },
                  "accountDetails": {
                    "iban": "BR1500000000000010932840814P2",
                    "swiftCode": "BRAABORJXXX",
                    "bankName": "Banco do Brasil"
                  }
                }
              },
              "PIXExample": {
                "summary": "PIX Account (Brazil)",
                "value": {
                  "direction": "offramp",
                  "country": "BRA",
                  "currency": "BRL",
                  "rail": "pix",
                  "accountHolder": {
                    "type": "individual",
                    "name": "Maria Silva",
                    "email": "maria@example.com",
                    "phone": "+5511999999999"
                  },
                  "accountDetails": {
                    "pixKey": "12345678901",
                    "bankName": "Banco do Brasil"
                  }
                }
              },
              "SPEIExample": {
                "summary": "SPEI Account (Mexico)",
                "value": {
                  "direction": "offramp",
                  "country": "MEX",
                  "currency": "MXN",
                  "rail": "spei",
                  "accountHolder": {
                    "type": "individual",
                    "name": "Carlos Garcia",
                    "email": "carlos@example.com",
                    "phone": "+525512345678"
                  },
                  "accountDetails": {
                    "speiClabe": "032180000118359719",
                    "bankName": "BBVA Mexico"
                  }
                }
              },
              "MoMoExample": {
                "summary": "Mobile Money Account (Kenya)",
                "value": {
                  "direction": "offramp",
                  "country": "KEN",
                  "currency": "KES",
                  "rail": "momo",
                  "accountHolder": {
                    "type": "individual",
                    "name": "James Mwangi",
                    "email": "james@example.com",
                    "phone": "+254712345678"
                  },
                  "accountDetails": {
                    "accountNumber": "+254712345678",
                    "bankName": "M-Pesa"
                  }
                }
              }
            }
          }
        }
      },
      "CreateMCAccountRecipientBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateMCAccountRecipient"
            }
          }
        }
      },
      "UpdateMCAccountRecipientBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateMCAccountRecipient"
            }
          }
        }
      },
      "CreateMCAccountTransferBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateMCAccountTransfer"
            }
          }
        }
      },
      "FileUploadBody": {
        "required": true,
        "content": {
          "multipart/form-data": {
            "schema": {
              "$ref": "#/components/schemas/FileUpload"
            }
          }
        }
      },
      "GetForexRateBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/GetForexRate"
            }
          }
        }
      },
      "CreateForexOrderBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateForexOrder"
            }
          }
        }
      },
      "KycUpdateBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/IndividualKycUpdate"
                },
                {
                  "$ref": "#/components/schemas/BusinessKycUpdate"
                }
              ]
            }
          }
        }
      },
      "RailsBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Rails"
            }
          }
        }
      },
      "KycLinkBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/KycLinkForUserCreation"
                },
                {
                  "$ref": "#/components/schemas/KycLinkForUnlockingRails"
                }
              ]
            }
          }
        }
      },
      "AddUboBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UboAdd"
            }
          }
        }
      },
      "UpdateUboBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UboUpdate"
            }
          }
        }
      },
      "AddDocumentBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/IndividualDocumentAdd"
                },
                {
                  "$ref": "#/components/schemas/BusinessDocumentAdd"
                }
              ]
            }
          }
        }
      },
      "UpdateDocumentBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/IndividualDocumentUpdate"
                },
                {
                  "$ref": "#/components/schemas/BusinessDocumentUpdate"
                }
              ]
            }
          }
        }
      },
      "ImportKycTokenBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ImportKycToken"
            }
          }
        }
      },
      "CreateMCAccountBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateMCAccount"
            }
          }
        }
      },
      "CreateMCAccountStoreBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateMCAccountStore"
            }
          }
        }
      },
      "AuthorizeMCAccountStoreBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AuthorizeMCAccountStore"
            }
          }
        }
      },
      "CreateOfframpBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/CreateOfframp"
                },
                {
                  "$ref": "#/components/schemas/CreateUsdOfframp"
                },
                {
                  "$ref": "#/components/schemas/CreateBrlOfframp"
                },
                {
                  "$ref": "#/components/schemas/CreateCopOfframp"
                },
                {
                  "$ref": "#/components/schemas/CreateMxnOfframp"
                },
                {
                  "$ref": "#/components/schemas/CreateArsOfframp"
                },
                {
                  "$ref": "#/components/schemas/CreateAfricaOfframp"
                },
                {
                  "$ref": "#/components/schemas/CreateBrazilGlobalNetworkOfframp"
                },
                {
                  "$ref": "#/components/schemas/CreateMexicoGlobalNetworkOfframp"
                },
                {
                  "$ref": "#/components/schemas/CreateNigeriaGlobalNetworkOfframp"
                },
                {
                  "$ref": "#/components/schemas/CreateHongKongGlobalNetworkOfframp"
                },
                {
                  "$ref": "#/components/schemas/CreateChinaGlobalNetworkOfframp"
                }
              ]
            }
          }
        }
      },
      "CreateCryptoTransferBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateCryptoTransfer"
            }
          }
        }
      },
      "CreateBridgingRequestBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateBridgingRequest"
            }
          }
        }
      },
      "CreateBatchCryptoTransferBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateBatchCryptoTransfer"
            }
          }
        }
      },
      "CreateWalletSwapBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateWalletSwap"
            }
          }
        }
      },
      "CancelCryptoTransferBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CancelCryptoTransfer"
            }
          }
        }
      },
      "CreateOnrampBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/CreateOnramp"
                },
                {
                  "$ref": "#/components/schemas/CreateUsdOnramp"
                },
                {
                  "$ref": "#/components/schemas/CreateBrlOnramp"
                },
                {
                  "$ref": "#/components/schemas/CreateMxnOnramp"
                },
                {
                  "$ref": "#/components/schemas/CreateAfricaOnramp"
                }
              ]
            }
          }
        }
      },
      "CreateOrchestrationAddressBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateOrchestrationAddress"
            }
          }
        }
      },
      "UpdateOrchestrationAddressBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateOrchestrationAddress"
            }
          }
        }
      },
      "DeactivateOrchestrationAddressBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DeactivateOrchestrationAddress"
            }
          }
        }
      },
      "CreateMetricBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateMetricRequest"
            },
            "examples": {
              "CreateMetricRequestExample": {
                "$ref": "#/components/examples/CreateMetricRequestExample"
              },
              "CreateMetricRequestWithBreakdownsExample": {
                "$ref": "#/components/examples/CreateMetricRequestWithBreakdownsExample"
              }
            }
          }
        }
      },
      "UpdateMetricBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateMetricRequest"
            },
            "examples": {
              "UpdateMetricRequestNameExample": {
                "$ref": "#/components/examples/UpdateMetricRequestNameExample"
              },
              "UpdateMetricRequestParamsExample": {
                "$ref": "#/components/examples/UpdateMetricRequestParamsExample"
              }
            }
          }
        }
      },
      "PreviewMetricBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/PreviewMetricRequest"
            },
            "examples": {
              "PreviewMetricRequestGrossVolumeExample": {
                "$ref": "#/components/examples/PreviewMetricRequestGrossVolumeExample"
              },
              "PreviewMetricRequestGrossVolumeMonthlyExample": {
                "$ref": "#/components/examples/PreviewMetricRequestGrossVolumeMonthlyExample"
              },
              "PreviewMetricRequestTransfersWithBreakdownsExample": {
                "$ref": "#/components/examples/PreviewMetricRequestTransfersWithBreakdownsExample"
              }
            }
          }
        }
      },
      "SubmitRfiBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RfiSubmissionBody"
            },
            "example": {
              "items": [
                {
                  "requestItemId": "3f7c1e90-2a4b-4d61-9c0e-5b8f2d6a1e34",
                  "fileId": "file_7bV1aLcs3Kf9dQ2mNpXwZ"
                },
                {
                  "requestItemId": "3f7c1e90-2a4b-4d61-9c0e-5b8f2d6a1e34",
                  "fileId": "file_9aB0xY4mNpXwZ7bV1aLdt"
                },
                {
                  "requestItemId": "6b2d4a81-7c05-4e39-8f1a-2d9c3e7b5041",
                  "answerText": "Salary from the user's employer, with payslips attached."
                }
              ]
            }
          }
        }
      },
      "UserV2CreateBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/IndividualUserV2Create"
                },
                {
                  "$ref": "#/components/schemas/BusinessUserV2Create"
                }
              ]
            }
          }
        }
      },
      "UserV2UpdateBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/IndividualUserV2Update"
                },
                {
                  "$ref": "#/components/schemas/BusinessUserV2Update"
                }
              ]
            }
          }
        }
      },
      "ToSLinkBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ToSLink"
            }
          }
        }
      },
      "UserV2AddWalletsBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UserV2AddWallets"
            }
          }
        }
      },
      "AddExternalWalletsBody": {
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AddExternalWallets"
            }
          }
        }
      }
    },
    "responses": {
      "GetAccountResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/AccountObject"
                },
                {
                  "$ref": "#/components/schemas/UsAccountObject"
                }
              ]
            },
            "examples": {
              "AccountObjectUSExample": {
                "$ref": "#/components/examples/AccountObjectUSExample"
              }
            }
          }
        }
      },
      "GetAllAccountsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AllAccountObjects"
            },
            "examples": {
              "AccountObjectListUSExample": {
                "$ref": "#/components/examples/AccountObjectListUSExample"
              }
            }
          }
        }
      },
      "CreateAccountResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateAccountObject"
            },
            "examples": {
              "AccountObjectCreationExample": {
                "$ref": "#/components/examples/AccountObjectCreationExample"
              }
            }
          }
        }
      },
      "DeleteAccountResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DeleteAccountObject"
            },
            "examples": {
              "AccountObjectDeletionExample": {
                "$ref": "#/components/examples/AccountObjectDeletionExample"
              }
            }
          }
        }
      },
      "CreateVirtualAccountResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateVirtualAccountObject"
            },
            "examples": {
              "VirtualAccountObjectCreationExample": {
                "$ref": "#/components/examples/VirtualAccountObjectCreationExample"
              }
            }
          }
        }
      },
      "UpdateVirtualAccountResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateVirtualAccountObject"
            }
          }
        }
      },
      "GetVirtualAccountResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VirtualAccountObject"
            },
            "examples": {
              "VirtualAccountObjectExample": {
                "$ref": "#/components/examples/VirtualAccountObjectExample"
              }
            }
          }
        }
      },
      "GetAllVirtualAccountsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VirtualAccountListObject"
            },
            "examples": {
              "VirtualAccountObjectListExample": {
                "$ref": "#/components/examples/VirtualAccountObjectListExample"
              }
            }
          }
        }
      },
      "DeactivateVirtualAccountResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DeactivateVirtualAccountObject"
            },
            "examples": {
              "VirtualAccountObjectDeactivateExample": {
                "$ref": "#/components/examples/VirtualAccountObjectDeactivateExample"
              }
            }
          }
        }
      },
      "ReactivateVirtualAccountResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ReactivateVirtualAccountObject"
            },
            "examples": {
              "VirtualAccountObjectCreationExample": {
                "$ref": "#/components/examples/VirtualAccountObjectCreationExample"
              }
            }
          }
        }
      },
      "SimulateVirtualAccountDepositResponse": {
        "description": "Successfully triggered sandbox deposit",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SimulateVirtualAccountDeposit"
            },
            "examples": {
              "VirtualAccountDepositSimulationObjectExample": {
                "$ref": "#/components/examples/VirtualAccountDepositSimulationObjectExample"
              }
            }
          }
        }
      },
      "GetSettlementRuleResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SettlementRuleResponse"
            },
            "examples": {
              "SettlementRuleObjectExample": {
                "$ref": "#/components/examples/SettlementRuleObjectExample"
              }
            }
          }
        }
      },
      "CreateSettlementRuleResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SettlementRuleResponse"
            },
            "examples": {
              "SettlementRuleObjectExample": {
                "$ref": "#/components/examples/SettlementRuleObjectExample"
              }
            }
          }
        }
      },
      "GetAllSettlementRulesResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SettlementRuleListResponse"
            }
          }
        }
      },
      "UpdateSettlementRuleResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/SettlementRuleResponse"
            },
            "examples": {
              "SettlementRuleObjectExample": {
                "$ref": "#/components/examples/SettlementRuleObjectExample"
              }
            }
          }
        }
      },
      "DeleteSettlementRuleResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DeleteSettlementRuleResponse"
            }
          }
        }
      },
      "ApplySettlementRuleResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApplySettlementRuleResponse"
            }
          }
        }
      },
      "RemoveSettlementRuleResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RemoveSettlementRuleResponse"
            }
          }
        }
      },
      "GetAllCantonOffersResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AllCantonOffersObject"
            }
          }
        }
      },
      "GetCantonOfferResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CantonOfferObject"
            }
          }
        }
      },
      "AcceptCantonOfferResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CantonOfferObject"
            }
          }
        }
      },
      "RejectCantonOfferResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CantonOfferObject"
            }
          }
        }
      },
      "FieldValidationErrorResponse": {
        "description": "Field Validation Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "InvalidOfferErrorResponse": {
        "description": "Invalid Offer Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "UnauthorizedResponse": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Unauthorized"
            }
          }
        }
      },
      "NotFoundResponse": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "enum": [
                    "error"
                  ]
                },
                "error": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "InternalServerErrorResponse": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/InternalServerError"
            }
          }
        }
      },
      "ConflictResponse": {
        "description": "Conflict — the request collides with the current state of the resource (e.g. idempotency-key reuse with a different payload).",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "PingResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Pong"
            }
          }
        }
      },
      "CreateExternalAccountResponse": {
        "description": "External account created successfully",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateExternalAccountSuccessObject"
            },
            "example": {
              "status": "ACTIVE",
              "message": "Account created successfully",
              "id": "583eb259-e78b-4f0c-a4b5-a8957876fa6f"
            }
          }
        }
      },
      "GetExternalAccountResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "account": {
                  "$ref": "#/components/schemas/ExternalAccountObject"
                }
              }
            },
            "example": {
              "account": {
                "id": "583eb259-e78b-4f0c-a4b5-a8957876fa6f",
                "userId": "77848151-d8cd-545a-8d45-62d31c30019d",
                "direction": "offramp",
                "status": "active",
                "country": "USA",
                "currency": "USD",
                "rail": "ach",
                "accountHolder": {
                  "type": "individual",
                  "name": "John Doe",
                  "email": "john@example.com",
                  "phone": "+14155551234",
                  "address": {
                    "addressLine1": "123 Main Street",
                    "city": "New York",
                    "stateProvinceRegion": "NY",
                    "postalCode": "10001",
                    "country": "USA"
                  }
                },
                "accountDetails": {
                  "accountNumber": "123456789",
                  "routingNumber": "021000021",
                  "accountType": "checking",
                  "bankName": "Chase Bank"
                },
                "createdAt": "2024-01-15T10:30:00.000Z",
                "updatedAt": "2024-01-15T10:30:00.000Z"
              }
            }
          }
        }
      },
      "GetAllExternalAccountsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ExternalAccountListObject"
            },
            "example": {
              "accounts": [
                {
                  "id": "583eb259-e78b-4f0c-a4b5-a8957876fa6f",
                  "userId": "77848151-d8cd-545a-8d45-62d31c30019d",
                  "direction": "offramp",
                  "status": "active",
                  "country": "USA",
                  "currency": "USD",
                  "rail": "ach",
                  "accountHolder": {
                    "type": "individual",
                    "name": "John Doe"
                  },
                  "accountDetails": {
                    "accountNumber": "123456789",
                    "routingNumber": "021000021"
                  },
                  "createdAt": "2024-01-15T10:30:00.000Z",
                  "updatedAt": "2024-01-15T10:30:00.000Z"
                }
              ],
              "count": 1,
              "nextCursor": null
            }
          }
        }
      },
      "DeleteExternalAccountResponse": {
        "description": "External account deleted successfully",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DeleteExternalAccountSuccessObject"
            },
            "example": {
              "message": "External account deleted successfully",
              "account": {
                "id": "583eb259-e78b-4f0c-a4b5-a8957876fa6f",
                "userId": "77848151-d8cd-545a-8d45-62d31c30019d",
                "direction": "offramp",
                "status": "inactive",
                "country": "USA",
                "currency": "USD",
                "rail": "ach",
                "createdAt": "2024-01-15T10:30:00.000Z",
                "updatedAt": "2024-01-15T12:00:00.000Z"
              }
            }
          }
        }
      },
      "CreateMCAccountRecipientResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateMCAccountRecipientObject"
            }
          }
        }
      },
      "GetMCAccountRecipientResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/GetMCAccountRecipientObject"
            }
          }
        }
      },
      "GetAllMCAccountRecipientsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/GetMCAccountRecipientListObject"
            }
          }
        }
      },
      "CreateMCAccountTransferResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MCAccountTransferObject"
            }
          }
        }
      },
      "GetMCAccountTransferResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MCAccountTransferObject"
            }
          }
        }
      },
      "GetAllMCAccountTransfersResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MCAccountTransferListObject"
            }
          }
        }
      },
      "FileUploadResponse": {
        "description": "File uploaded successfully",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/FileUploadResult"
            }
          }
        }
      },
      "GetForexRateResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ForexRateObject"
            }
          }
        }
      },
      "CreateForexOrderResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ForexOrderObject"
            }
          }
        }
      },
      "GetAllForexOrdersResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ForexOrderListObject"
            }
          }
        }
      },
      "GetForexOrderResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ForexOrderObject"
            }
          }
        }
      },
      "KycObjectResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/KycIndividualObject"
                },
                {
                  "$ref": "#/components/schemas/KycBusinessObject"
                }
              ]
            },
            "examples": {
              "KycObjectIndividualExample": {
                "$ref": "#/components/examples/KycObjectIndividualExample"
              },
              "KycObjectBusinessExample": {
                "$ref": "#/components/examples/KycObjectBusinessExample"
              }
            }
          }
        }
      },
      "KycStatusSubmitResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/UsdRailKycSubmissionObject"
                },
                {
                  "$ref": "#/components/schemas/AfricaGeneralRailKycSubmissionObject"
                },
                {
                  "$ref": "#/components/schemas/AfricaNigeriaRailKycSubmissionObject"
                },
                {
                  "$ref": "#/components/schemas/GlobalNetworkRailKycSubmissionObject"
                }
              ]
            },
            "examples": {
              "KycSubmissionObjectUsdExample": {
                "$ref": "#/components/examples/KycSubmissionObjectUsdExample"
              },
              "KycSubmissionObjectAfricaGeneralExample": {
                "$ref": "#/components/examples/KycSubmissionObjectAfricaGeneralExample"
              },
              "KycSubmissionObjectAfricaNigeriaExample": {
                "$ref": "#/components/examples/KycSubmissionObjectAfricaNigeriaExample"
              },
              "KycSubmissionObjectGlobalNetworkExample": {
                "$ref": "#/components/examples/KycSubmissionObjectGlobalNetworkExample"
              }
            }
          }
        }
      },
      "KycStatusResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/UsdRailIndividualKycStatusObject"
                },
                {
                  "$ref": "#/components/schemas/UsdRailBusinessKycStatusObject"
                },
                {
                  "$ref": "#/components/schemas/AfricaGeneralRailKycStatusObject"
                },
                {
                  "$ref": "#/components/schemas/AfricaNigeriaRailKycStatusObject"
                },
                {
                  "$ref": "#/components/schemas/GlobalNetworkRailKycStatusObject"
                }
              ]
            },
            "examples": {
              "KycStatusObjectUSDInactiveExample": {
                "$ref": "#/components/examples/KycStatusObjectUSDInactiveExample"
              },
              "KycStatusObjectUSDPendingIndividualExample": {
                "$ref": "#/components/examples/KycStatusObjectUSDPendingIndividualExample"
              },
              "KycStatusObjectUSDIncompleteBusinessExample": {
                "$ref": "#/components/examples/KycStatusObjectUSDIncompleteBusinessExample"
              },
              "KycStatusObjectUSDActiveBusinessExample": {
                "$ref": "#/components/examples/KycStatusObjectUSDActiveBusinessExample"
              },
              "KycStatusObjectAfricaGeneralActiveExample": {
                "$ref": "#/components/examples/KycStatusObjectAfricaGeneralActiveExample"
              },
              "KycStatusObjectAfricaNigeriaActiveExample": {
                "$ref": "#/components/examples/KycStatusObjectAfricaNigeriaActiveExample"
              },
              "KycStatusObjectGlobalNetworkActiveExample": {
                "$ref": "#/components/examples/KycStatusObjectGlobalNetworkActiveExample"
              }
            }
          }
        }
      },
      "KycRequirementResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/USDRailBusinessKYCReqOptObject"
                },
                {
                  "$ref": "#/components/schemas/USDRailIndividualKYCReqOptObject"
                }
              ]
            },
            "examples": {
              "KycRequirementObjectBusinessUSDExample": {
                "$ref": "#/components/examples/KycRequirementObjectBusinessUSDExample"
              },
              "KycRequirementObjectIndividualUSDExample": {
                "$ref": "#/components/examples/KycRequirementObjectIndividualUSDExample"
              }
            }
          }
        }
      },
      "KycLinkResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/KycLinkObject"
            },
            "examples": {
              "KycLinkObjectExample": {
                "$ref": "#/components/examples/KycLinkObjectExample"
              }
            }
          }
        }
      },
      "AllKycStatusesResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AllKycStatusesObject"
            },
            "examples": {
              "BasicKycStatusObjectListExample": {
                "$ref": "#/components/examples/BasicKycStatusObjectListExample"
              }
            }
          }
        }
      },
      "UboObjectResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UboObject"
            },
            "examples": {
              "UboObjectExample": {
                "$ref": "#/components/examples/UboObjectExample"
              }
            }
          }
        }
      },
      "UboObjectAllRecordsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UboObjectList"
            },
            "examples": {
              "UboObjectListExample": {
                "$ref": "#/components/examples/UboObjectListExample"
              }
            }
          }
        }
      },
      "DocumentObjectResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DocumentObject"
            },
            "examples": {
              "DocumentObjectIndividualExample": {
                "$ref": "#/components/examples/DocumentObjectIndividualExample"
              },
              "DocumentObjectBusinessExample": {
                "$ref": "#/components/examples/DocumentObjectBusinessExample"
              },
              "DocumentObjectUboExample": {
                "$ref": "#/components/examples/DocumentObjectUboExample"
              }
            }
          }
        }
      },
      "DocumentObjectAllRecordsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DocumentObjectList"
            },
            "examples": {
              "DocumentObjectListExample": {
                "$ref": "#/components/examples/DocumentObjectListExample"
              }
            }
          }
        }
      },
      "CreateMCAccountResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateMCAccountObject"
            }
          }
        }
      },
      "GetMCAccountResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/GetMCAccountObject"
            }
          }
        }
      },
      "GetAllMCAccountsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/GetMCAccountListObject"
            }
          }
        }
      },
      "GetMCAccountDepositResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MCAccountDepositObject"
            }
          }
        }
      },
      "GetAllMCAccountDepositsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MCAccountDepositListObject"
            }
          }
        }
      },
      "GetMCAccountBalanceResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MCAccountBalanceObject"
            }
          }
        }
      },
      "CreateMCAccountStoreResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MCAccountStoreObject"
            }
          }
        }
      },
      "AuthorizeMCAccountStoreResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MCAccountStoreObject"
            }
          }
        }
      },
      "CryptoToFiatTransferResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OfframpObject"
            },
            "examples": {
              "OfframpObjectUsdOpenQuoteExample": {
                "$ref": "#/components/examples/OfframpObjectUsdOpenQuoteExample"
              }
            }
          }
        }
      },
      "CryptoToFiatAcceptQuoteResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OfframpAcceptedQuoteObject"
            },
            "examples": {
              "OfframpObjectUsdCryptoInitiatedExample": {
                "$ref": "#/components/examples/OfframpObjectUsdCryptoInitiatedExample"
              }
            }
          }
        }
      },
      "CryptoToFiatRecordResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OfframpRecordObject"
            },
            "examples": {
              "OfframpObjectUsdCompleteExample": {
                "$ref": "#/components/examples/OfframpObjectUsdCompleteExample"
              }
            }
          }
        }
      },
      "CryptoToFiatAllRecordsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OfframpAllRecordsObject"
            },
            "examples": {
              "OfframpObjectListExample": {
                "$ref": "#/components/examples/OfframpObjectListExample"
              }
            }
          }
        }
      },
      "CryptoToFiatConversionRateResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OfframpConversionRateObject"
            }
          }
        }
      },
      "CancelOfframpResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CancelOfframpResponse"
            }
          }
        }
      },
      "CryptoToCryptoTransferResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CryptoToCryptoTransferObject"
            }
          }
        }
      },
      "CryptoToCryptoRecordResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CryptoToCryptoRecordObject"
            }
          }
        }
      },
      "CryptoToCryptoAllRecordsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CryptoToCryptoAllRecordsObject"
            }
          }
        }
      },
      "BridgeAssetTransferResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BridgeAssetTransferObject"
            }
          }
        }
      },
      "BridgeAssetRecordResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BridgeAssetTransferObject"
            }
          }
        }
      },
      "BridgeAssetAllRecordsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BridgeAssetTransferListObject"
            }
          }
        }
      },
      "BatchCryptoTransferResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BatchCryptoTransferObject"
            }
          }
        }
      },
      "BatchCryptoTransferAllRecordsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BatchCryptoTransferListObject"
            }
          }
        }
      },
      "WalletSwapResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WalletSwapObject"
            }
          }
        }
      },
      "WalletSwapAllRecordsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WalletSwapAllRecordsObject"
            }
          }
        }
      },
      "WalletSwapRateResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WalletSwapRateObject"
            }
          }
        }
      },
      "CancelCryptoTransferResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CancelCryptoTransferResponse"
            }
          }
        }
      },
      "FiatToCryptoTransferResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OnrampObject"
            },
            "examples": {
              "OnrampObjectUsdOpenQuoteExample": {
                "$ref": "#/components/examples/OnrampObjectUsdOpenQuoteExample"
              }
            }
          }
        }
      },
      "FiatToCryptoAcceptQuoteResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OnrampAcceptedQuoteObject"
            },
            "examples": {
              "OnrampObjectUsdAwaitingFundsExample": {
                "$ref": "#/components/examples/OnrampObjectUsdAwaitingFundsExample"
              }
            }
          }
        }
      },
      "FiatToCryptoRefreshQuoteResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OnrampQuoteObject"
            },
            "examples": {
              "OnrampObjectUsdOpenQuoteExample": {
                "$ref": "#/components/examples/OnrampObjectUsdOpenQuoteExample"
              }
            }
          }
        }
      },
      "FiatToCryptoRecordResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OnrampRecordObject"
            },
            "examples": {
              "OnrampObjectUsdFiatPendingExample": {
                "$ref": "#/components/examples/OnrampObjectUsdFiatPendingExample"
              }
            }
          }
        }
      },
      "FiatToCryptoAllRecordsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OnrampAllRecordsObject"
            },
            "examples": {
              "OnrampObjectListExample": {
                "$ref": "#/components/examples/OnrampObjectListExample"
              }
            }
          }
        }
      },
      "FiatToCryptoConversionRateResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/FiatToCryptoConversionRateObject"
            }
          }
        }
      },
      "SimulateOnrampDepositResponse": {
        "description": "Successfully triggered sandbox deposit",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string",
                  "example": "Sandbox deposit triggered"
                }
              }
            }
          }
        }
      },
      "CancelOnrampResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CancelOnrampResponse"
            }
          }
        }
      },
      "OrchestrationAddressResponse": {
        "description": "A single orchestration address record.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OrchestrationAddressObject"
            }
          }
        }
      },
      "OrchestrationAddressAllRecordsResponse": {
        "description": "A paginated list of orchestration addresses for the user.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OrchestrationAddressAllRecordsObject"
            }
          }
        }
      },
      "OrchestrationDepositResponse": {
        "description": "A single deposit record.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OrchestrationDepositObject"
            }
          }
        }
      },
      "OrchestrationDepositAllRecordsResponse": {
        "description": "A paginated list of deposits for the named orchestration address.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OrchestrationDepositAllRecordsObject"
            }
          }
        }
      },
      "OrchestrationBatchResponse": {
        "description": "A single batch record (with its included deposit IDs and the linked offramp).",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OrchestrationBatchObject"
            }
          }
        }
      },
      "OrchestrationBatchAllRecordsResponse": {
        "description": "A paginated list of batches for the named orchestration address.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OrchestrationBatchAllRecordsObject"
            }
          }
        }
      },
      "OrchestrationManualTriggerResponse": {
        "description": "Result of `POST /orchestrate`. Either a freshly-created batch\n(`triggered: true`, with `batch` populated) or an idempotent no-op\n(`triggered: false`, with `reason` indicating why).\n",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/OrchestrationManualTriggerObject"
            }
          }
        }
      },
      "TemplateListResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TemplateListResponse"
            },
            "examples": {
              "TemplateListExample": {
                "$ref": "#/components/examples/TemplateListExample"
              }
            }
          }
        }
      },
      "TemplateResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TemplateResponse"
            },
            "examples": {
              "TemplateExample": {
                "$ref": "#/components/examples/TemplateExample"
              }
            }
          }
        }
      },
      "ParamOptionsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ParamOptionsResponse"
            },
            "examples": {
              "ParamOptionsUserIdsExample": {
                "$ref": "#/components/examples/ParamOptionsUserIdsExample"
              },
              "ParamOptionsTransactionTypesExample": {
                "$ref": "#/components/examples/ParamOptionsTransactionTypesExample"
              }
            }
          }
        }
      },
      "MetricResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MetricResponse"
            },
            "examples": {
              "MetricResponseExample": {
                "$ref": "#/components/examples/MetricResponseExample"
              }
            }
          }
        }
      },
      "MetricListResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MetricListResponse"
            },
            "examples": {
              "MetricListExample": {
                "$ref": "#/components/examples/MetricListExample"
              }
            }
          }
        }
      },
      "CreateMetricResponse": {
        "description": "Metric created successfully",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MetricResponse"
            },
            "examples": {
              "CreateMetricResponseExample": {
                "$ref": "#/components/examples/CreateMetricResponseExample"
              }
            }
          }
        }
      },
      "UpdateMetricResponse": {
        "description": "Metric updated successfully",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MetricResponse"
            },
            "examples": {
              "UpdateMetricResponseExample": {
                "$ref": "#/components/examples/UpdateMetricResponseExample"
              }
            }
          }
        }
      },
      "DeleteMetricResponse": {
        "description": "Metric deleted successfully",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MetricResponse"
            },
            "examples": {
              "DeleteMetricResponseExample": {
                "$ref": "#/components/examples/DeleteMetricResponseExample"
              }
            }
          }
        }
      },
      "MetricCalculationResponse": {
        "description": "Metric calculation results",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MetricCalculationResponse"
            },
            "examples": {
              "PreviewMetricResponseGrossVolumeNoBreakdownsExample": {
                "$ref": "#/components/examples/PreviewMetricResponseGrossVolumeNoBreakdownsExample"
              },
              "PreviewMetricResponseGrossVolumeMonthlyExample": {
                "$ref": "#/components/examples/PreviewMetricResponseGrossVolumeMonthlyExample"
              },
              "PreviewMetricResponseTransfersWithBreakdownsExample": {
                "$ref": "#/components/examples/PreviewMetricResponseTransfersWithBreakdownsExample"
              },
              "MetricResultsNewUsersExample": {
                "$ref": "#/components/examples/MetricResultsNewUsersExample"
              },
              "MetricResultsGrossVolumeExample": {
                "$ref": "#/components/examples/MetricResultsGrossVolumeExample"
              }
            }
          }
        }
      },
      "BadRequestResponse": {
        "description": "Bad request - validation error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "string",
                  "enum": [
                    "error"
                  ]
                },
                "error": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "details": {
                      "type": "object",
                      "description": "Field-specific validation errors"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ListRfisResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RfiListObject"
            },
            "example": {
              "data": [
                {
                  "id": "7c9e1a34-5b02-4d68-91af-3e6d2b8c4075",
                  "kind": "onboarding",
                  "status": "issued",
                  "subjectType": "individual",
                  "userId": "2d5b7e18-9c40-4a63-b8f1-7e0a4c9d2536",
                  "transferId": null,
                  "flowType": null,
                  "createdAt": "2026-07-01T10:30:00.000Z",
                  "currentRound": 1,
                  "round": {
                    "id": "b81d4f2c-6e35-4a90-9f27-0c3e5a71d8b6",
                    "round": 1,
                    "issuedAt": "2026-07-01T10:30:00.000Z",
                    "expiresAt": "2026-07-31T10:30:00.000Z",
                    "submittedAt": null,
                    "items": [
                      {
                        "id": "3f7c1e90-2a4b-4d61-9c0e-5b8f2d6a1e34",
                        "kind": "document",
                        "label": "Proof of address issued in the last 3 months",
                        "docType": "proof_of_address",
                        "detail": "A utility bill or bank statement dated within the last three months.",
                        "required": true
                      },
                      {
                        "id": "6b2d4a81-7c05-4e39-8f1a-2d9c3e7b5041",
                        "kind": "question",
                        "label": "What is the source of the funds being deposited?",
                        "docType": null,
                        "detail": null,
                        "required": true
                      }
                    ],
                    "link": "https://dashboard.hifi.com/production/rfi-link/rfir_2mNpXwZ7bV1aLcs3Kf9dQ#sessionToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
                  }
                }
              ],
              "pagination": {
                "limit": 20,
                "offset": 0,
                "total": 1
              }
            }
          }
        }
      },
      "SubmitRfiResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RfiSubmissionResult"
            },
            "example": {
              "rfiId": "7c9e1a34-5b02-4d68-91af-3e6d2b8c4075",
              "roundId": "b81d4f2c-6e35-4a90-9f27-0c3e5a71d8b6",
              "round": 1,
              "status": "submitted",
              "submittedAt": "2026-07-03T09:12:44.000Z",
              "responseCount": 3
            }
          }
        }
      },
      "RfiBadRequestResponse": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RfiError"
            },
            "example": {
              "type": "VALIDATION_ERROR",
              "message": "A question request item is answered with answerText",
              "fields": [
                {
                  "code": "conditional_required",
                  "message": "A question request item is answered with answerText",
                  "field": "items[1].answerText"
                }
              ]
            }
          }
        }
      },
      "RfiNotFoundResponse": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RfiError"
            },
            "example": {
              "type": "RESOURCE_NOT_FOUND",
              "message": "RFI not found"
            }
          }
        }
      },
      "RfiConflictResponse": {
        "description": "Conflict",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RfiError"
            },
            "example": {
              "type": "RESOURCE_CONFLICT",
              "message": "This request has already been answered"
            }
          }
        }
      },
      "RfiNotEligibleResponse": {
        "description": "Unprocessable Entity",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RfiError"
            },
            "example": {
              "type": "RESOURCE_NOT_USABLE",
              "message": "The deadline for this request has passed"
            }
          }
        }
      },
      "RfiInternalServerErrorResponse": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RfiError"
            },
            "example": {
              "type": "INTERNAL_SERVER_ERROR",
              "message": "An internal error occurred"
            }
          }
        }
      },
      "ToSLinkObjectResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ToSLinkObject"
            },
            "examples": {
              "ToSLinkObjectExample": {
                "$ref": "#/components/examples/ToSLinkObjectExample"
              }
            }
          }
        }
      },
      "ToSLinkRecordStatusResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ToSLinkRecordStatusObject"
            },
            "examples": {
              "TosLinkStatusObjectExample": {
                "$ref": "#/components/examples/TosLinkStatusObjectExample"
              }
            }
          }
        }
      },
      "WalletBalanceResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WalletBalanceObject"
            },
            "examples": {
              "WalletBalanceObjectExample": {
                "$ref": "#/components/examples/WalletBalanceObjectExample"
              }
            }
          }
        }
      },
      "UserV2ObjectResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/IndividualUserV2Object"
                },
                {
                  "$ref": "#/components/schemas/BusinessUserV2Object"
                }
              ]
            },
            "examples": {
              "UserObjectIndividualExample": {
                "$ref": "#/components/examples/UserObjectIndividualExample"
              },
              "UserObjectBusinessExample": {
                "$ref": "#/components/examples/UserObjectBusinessExample"
              }
            }
          }
        }
      },
      "AllUserV2ObjectsResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/AllUserV2Objects"
            },
            "examples": {
              "UserObjectListExample": {
                "$ref": "#/components/examples/UserObjectListExample"
              }
            }
          }
        }
      },
      "ExternalWalletsObjectResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ExternalWalletsObject"
            },
            "examples": {
              "ExternalWalletObjectListExample": {
                "$ref": "#/components/examples/ExternalWalletObjectListExample"
              }
            }
          }
        }
      },
      "ExternalWalletObjectResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ExternalWalletObject"
            },
            "examples": {
              "ExternalWalletObjectExample": {
                "$ref": "#/components/examples/ExternalWalletObjectExample"
              }
            }
          }
        }
      },
      "WalletDepositObjectResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WalletDepositObject"
            },
            "examples": {
              "WalletDepositObjectExample": {
                "$ref": "#/components/examples/WalletDepositObjectExample"
              }
            }
          }
        }
      },
      "WalletDepositsObjectResponse": {
        "description": "Success",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/WalletDepositsObject"
            },
            "examples": {
              "WalletDepositObjectListExample": {
                "$ref": "#/components/examples/WalletDepositObjectListExample"
              }
            }
          }
        }
      }
    },
    "schemas": {
      "AccountTypeEnum": {
        "type": "string",
        "description": "The type of account.",
        "enum": [
          "us",
          "africa",
          "recipient",
          "brazilGlobalNetwork",
          "nigeriaGlobalNetwork",
          "mexicoGlobalNetwork",
          "hongKongGlobalNetwork",
          "chinaGlobalNetwork",
          "singaporeGlobalNetwork",
          "italyGlobalNetwork",
          "spainGlobalNetwork",
          "germanyGlobalNetwork",
          "unitedArabEmiratesGlobalNetwork",
          "franceGlobalNetwork",
          "unitedKingdomGlobalNetwork",
          "lithuaniaGlobalNetwork",
          "netherlandsGlobalNetwork",
          "hungaryGlobalNetwork",
          "greeceGlobalNetwork",
          "austriaGlobalNetwork",
          "irelandGlobalNetwork",
          "portugalGlobalNetwork",
          "denmarkGlobalNetwork",
          "norwayGlobalNetwork",
          "croatiaGlobalNetwork",
          "slovakiaGlobalNetwork",
          "swedenGlobalNetwork",
          "polandGlobalNetwork",
          "sloveniaGlobalNetwork",
          "romaniaGlobalNetwork",
          "finlandGlobalNetwork",
          "latviaGlobalNetwork",
          "czechRepublicGlobalNetwork",
          "serbiaGlobalNetwork",
          "estoniaGlobalNetwork",
          "cyprusGlobalNetwork",
          "japanGlobalNetwork",
          "southAfricaGlobalNetwork",
          "chileGlobalNetwork",
          "belgiumGlobalNetwork",
          "thailandGlobalNetwork",
          "indonesiaGlobalNetwork",
          "bulgariaGlobalNetwork",
          "icelandGlobalNetwork",
          "luxembourgGlobalNetwork",
          "maltaGlobalNetwork",
          "liechtensteinGlobalNetwork",
          "southKoreaGlobalNetwork",
          "taiwanGlobalNetwork",
          "colombiaGlobalNetwork",
          "argentinaGlobalNetwork",
          "kenyaGlobalNetwork",
          "australiaGlobalNetwork",
          "newZealandGlobalNetwork",
          "israelGlobalNetwork",
          "turkeyGlobalNetwork",
          "canadaGlobalNetwork",
          "andorraGlobalNetwork",
          "albaniaGlobalNetwork",
          "switzerlandGlobalNetwork",
          "monacoGlobalNetwork",
          "moldovaGlobalNetwork",
          "montenegroGlobalNetwork",
          "northMacedoniaGlobalNetwork",
          "sanMarinoGlobalNetwork",
          "vaticanCityGlobalNetwork",
          "philippinesGlobalNetwork",
          "panamaGlobalNetwork",
          "paraguayGlobalNetwork",
          "saudiArabiaGlobalNetwork",
          "georgiaGlobalNetwork",
          "indiaGlobalNetwork",
          "macauGlobalNetwork",
          "uruguayGlobalNetwork",
          "guatemalaGlobalNetwork",
          "britishVirginIslandsGlobalNetwork",
          "vietnamGlobalNetwork",
          "bahrainGlobalNetwork",
          "malaysiaGlobalNetwork",
          "omanGlobalNetwork",
          "peruGlobalNetwork",
          "algeriaGlobalNetwork",
          "americanSamoaGlobalNetwork",
          "angolaGlobalNetwork",
          "anguillaGlobalNetwork",
          "antiguaAndBarbudaGlobalNetwork",
          "armeniaGlobalNetwork",
          "arubaGlobalNetwork",
          "azerbaijanGlobalNetwork",
          "bahamasGlobalNetwork",
          "bangladeshGlobalNetwork",
          "barbadosGlobalNetwork",
          "belizeGlobalNetwork",
          "beninGlobalNetwork",
          "bermudaGlobalNetwork",
          "bhutanGlobalNetwork",
          "boliviaGlobalNetwork",
          "botswanaGlobalNetwork",
          "britishIndianOceanTerritoryGlobalNetwork",
          "bruneiGlobalNetwork",
          "caboVerdeGlobalNetwork",
          "caymanIslandsGlobalNetwork",
          "christmasIslandGlobalNetwork",
          "cocosIslandsGlobalNetwork",
          "comorosGlobalNetwork",
          "cookIslandsGlobalNetwork",
          "costaRicaGlobalNetwork",
          "coteDIvoireGlobalNetwork",
          "curacaoGlobalNetwork",
          "djiboutiGlobalNetwork",
          "dominicaGlobalNetwork",
          "dominicanRepublicGlobalNetwork",
          "ecuadorGlobalNetwork",
          "egyptGlobalNetwork",
          "elSalvadorGlobalNetwork",
          "equatorialGuineaGlobalNetwork",
          "eswatiniGlobalNetwork",
          "falklandIslandsGlobalNetwork",
          "faroeIslandsGlobalNetwork",
          "fijiGlobalNetwork",
          "frenchGuianaGlobalNetwork",
          "frenchPolynesiaGlobalNetwork",
          "gambiaGlobalNetwork",
          "ghanaGlobalNetwork",
          "gibraltarGlobalNetwork",
          "greenlandGlobalNetwork",
          "grenadaGlobalNetwork",
          "guadeloupeGlobalNetwork",
          "guamGlobalNetwork",
          "guineaGlobalNetwork",
          "guyanaGlobalNetwork",
          "hondurasGlobalNetwork",
          "isleOfManGlobalNetwork",
          "jerseyGlobalNetwork",
          "jordanGlobalNetwork",
          "kazakhstanGlobalNetwork",
          "kiribatiGlobalNetwork",
          "kuwaitGlobalNetwork",
          "kyrgyzstanGlobalNetwork",
          "lesothoGlobalNetwork",
          "madagascarGlobalNetwork",
          "malawiGlobalNetwork",
          "maldivesGlobalNetwork",
          "marshallIslandsGlobalNetwork",
          "martiniqueGlobalNetwork",
          "mauritaniaGlobalNetwork",
          "mauritiusGlobalNetwork",
          "mayotteGlobalNetwork",
          "micronesiaGlobalNetwork",
          "mongoliaGlobalNetwork",
          "montserratGlobalNetwork",
          "moroccoGlobalNetwork",
          "namibiaGlobalNetwork",
          "nauruGlobalNetwork",
          "nepalGlobalNetwork",
          "newCaledoniaGlobalNetwork",
          "nigerGlobalNetwork",
          "niueGlobalNetwork",
          "norfolkIslandGlobalNetwork",
          "northernMarianaIslandsGlobalNetwork",
          "pakistanGlobalNetwork",
          "palauGlobalNetwork",
          "papuaNewGuineaGlobalNetwork",
          "pitcairnGlobalNetwork",
          "puertoRicoGlobalNetwork",
          "qatarGlobalNetwork",
          "reunionGlobalNetwork",
          "rwandaGlobalNetwork",
          "saintBarthelemyGlobalNetwork",
          "saintHelenaGlobalNetwork",
          "saintKittsAndNevisGlobalNetwork",
          "saintLuciaGlobalNetwork",
          "saintMartinGlobalNetwork",
          "saintPierreAndMiquelonGlobalNetwork",
          "saintVincentAndTheGrenadinesGlobalNetwork",
          "samoaGlobalNetwork",
          "saoTomeAndPrincipeGlobalNetwork",
          "senegalGlobalNetwork",
          "seychellesGlobalNetwork",
          "sierraLeoneGlobalNetwork",
          "sintMaartenGlobalNetwork",
          "solomonIslandsGlobalNetwork",
          "sriLankaGlobalNetwork",
          "surinameGlobalNetwork",
          "svalbardAndJanMayenGlobalNetwork",
          "tajikistanGlobalNetwork",
          "timorLesteGlobalNetwork",
          "togoGlobalNetwork",
          "tokelauGlobalNetwork",
          "tongaGlobalNetwork",
          "trinidadAndTobagoGlobalNetwork",
          "tunisiaGlobalNetwork",
          "turkmenistanGlobalNetwork",
          "turksAndCaicosIslandsGlobalNetwork",
          "tuvaluGlobalNetwork",
          "usVirginIslandsGlobalNetwork",
          "ugandaGlobalNetwork",
          "uzbekistanGlobalNetwork",
          "vanuatuGlobalNetwork",
          "wallisAndFutunaGlobalNetwork",
          "westernSaharaGlobalNetwork",
          "zambiaGlobalNetwork"
        ]
      },
      "CreateAccount": {
        "type": "object",
        "title": "Account",
        "description": "Create an onramp or offramp account for different account types.\n",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "onramp",
              "offramp"
            ]
          },
          "type": {
            "$ref": "#/components/schemas/AccountTypeEnum"
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/AccountHolder"
          },
          "us": {
            "type": "object",
            "description": "US account.",
            "$ref": "#/components/schemas/UsAccount"
          },
          "africa": {
            "type": "object",
            "description": "Africa account.",
            "$ref": "#/components/schemas/AfricaAccount"
          },
          "recipient": {
            "type": "object",
            "description": "Recipient account (uses us account schema).",
            "$ref": "#/components/schemas/UsAccount"
          },
          "indiaGlobalNetwork": {
            "type": "object",
            "description": "India Global Network account.",
            "$ref": "#/components/schemas/IndiaGlobalNetworkAccount"
          },
          "brazilGlobalNetwork": {
            "type": "object",
            "description": "Brazil Global Network account.",
            "$ref": "#/components/schemas/BrazilGlobalNetworkAccount"
          },
          "nigeriaGlobalNetwork": {
            "type": "object",
            "description": "Nigeria Global Network account.",
            "$ref": "#/components/schemas/NigeriaGlobalNetworkAccount"
          },
          "georgiaGlobalNetwork": {
            "type": "object",
            "description": "Georgia Global Network account.",
            "$ref": "#/components/schemas/GeorgiaGlobalNetworkAccount"
          },
          "mexicoGlobalNetwork": {
            "type": "object",
            "description": "Mexico Global Network account.",
            "$ref": "#/components/schemas/MexicoGlobalNetworkAccount"
          },
          "hongKongGlobalNetwork": {
            "type": "object",
            "description": "Hong Kong Global Network account.",
            "$ref": "#/components/schemas/HongKongGlobalNetworkAccount"
          },
          "singaporeGlobalNetwork": {
            "type": "object",
            "description": "Singapore Global Network account.",
            "$ref": "#/components/schemas/SingaporeGlobalNetworkAccount"
          },
          "italyGlobalNetwork": {
            "type": "object",
            "description": "Italy Global Network account.",
            "$ref": "#/components/schemas/ItalyGlobalNetworkAccount"
          },
          "spainGlobalNetwork": {
            "type": "object",
            "description": "Spain Global Network account.",
            "$ref": "#/components/schemas/SpainGlobalNetworkAccount"
          },
          "germanyGlobalNetwork": {
            "type": "object",
            "description": "Germany Global Network account.",
            "$ref": "#/components/schemas/GermanyGlobalNetworkAccount"
          },
          "franceGlobalNetwork": {
            "type": "object",
            "description": "France Global Network account.",
            "$ref": "#/components/schemas/FranceGlobalNetworkAccount"
          },
          "unitedKingdomGlobalNetwork": {
            "type": "object",
            "description": "United Kingdom Global Network account.",
            "$ref": "#/components/schemas/UnitedKingdomGlobalNetworkAccount"
          },
          "lithuaniaGlobalNetwork": {
            "type": "object",
            "description": "Lithuania Global Network account.",
            "$ref": "#/components/schemas/LithuaniaGlobalNetworkAccount"
          },
          "netherlandsGlobalNetwork": {
            "type": "object",
            "description": "Netherlands Global Network account.",
            "$ref": "#/components/schemas/NetherlandsGlobalNetworkAccount"
          },
          "hungaryGlobalNetwork": {
            "type": "object",
            "description": "Hungary Global Network account.",
            "$ref": "#/components/schemas/HungaryGlobalNetworkAccount"
          },
          "greeceGlobalNetwork": {
            "type": "object",
            "description": "Greece Global Network account.",
            "$ref": "#/components/schemas/GreeceGlobalNetworkAccount"
          },
          "austriaGlobalNetwork": {
            "type": "object",
            "description": "Austria Global Network account.",
            "$ref": "#/components/schemas/AustriaGlobalNetworkAccount"
          },
          "irelandGlobalNetwork": {
            "type": "object",
            "description": "Ireland Global Network account.",
            "$ref": "#/components/schemas/IrelandGlobalNetworkAccount"
          },
          "portugalGlobalNetwork": {
            "type": "object",
            "description": "Portugal Global Network account.",
            "$ref": "#/components/schemas/PortugalGlobalNetworkAccount"
          },
          "denmarkGlobalNetwork": {
            "type": "object",
            "description": "Denmark Global Network account.",
            "$ref": "#/components/schemas/DenmarkGlobalNetworkAccount"
          },
          "norwayGlobalNetwork": {
            "type": "object",
            "description": "Norway Global Network account.",
            "$ref": "#/components/schemas/NorwayGlobalNetworkAccount"
          },
          "croatiaGlobalNetwork": {
            "type": "object",
            "description": "Croatia Global Network account.",
            "$ref": "#/components/schemas/CroatiaGlobalNetworkAccount"
          },
          "slovakiaGlobalNetwork": {
            "type": "object",
            "description": "Slovakia Global Network account.",
            "$ref": "#/components/schemas/SlovakiaGlobalNetworkAccount"
          },
          "swedenGlobalNetwork": {
            "type": "object",
            "description": "Sweden Global Network account.",
            "$ref": "#/components/schemas/SwedenGlobalNetworkAccount"
          },
          "polandGlobalNetwork": {
            "type": "object",
            "description": "Poland Global Network account.",
            "$ref": "#/components/schemas/PolandGlobalNetworkAccount"
          },
          "sloveniaGlobalNetwork": {
            "type": "object",
            "description": "Slovenia Global Network account.",
            "$ref": "#/components/schemas/SloveniaGlobalNetworkAccount"
          },
          "romaniaGlobalNetwork": {
            "type": "object",
            "description": "Romania Global Network account.",
            "$ref": "#/components/schemas/RomaniaGlobalNetworkAccount"
          },
          "finlandGlobalNetwork": {
            "type": "object",
            "description": "Finland Global Network account.",
            "$ref": "#/components/schemas/FinlandGlobalNetworkAccount"
          },
          "latviaGlobalNetwork": {
            "type": "object",
            "description": "Latvia Global Network account.",
            "$ref": "#/components/schemas/LatviaGlobalNetworkAccount"
          },
          "czechRepublicGlobalNetwork": {
            "type": "object",
            "description": "Czech Republic Global Network account.",
            "$ref": "#/components/schemas/CzechRepublicGlobalNetworkAccount"
          },
          "serbiaGlobalNetwork": {
            "type": "object",
            "description": "Serbia Global Network account.",
            "$ref": "#/components/schemas/SerbiaGlobalNetworkAccount"
          },
          "estoniaGlobalNetwork": {
            "type": "object",
            "description": "Estonia Global Network account.",
            "$ref": "#/components/schemas/EstoniaGlobalNetworkAccount"
          },
          "cyprusGlobalNetwork": {
            "type": "object",
            "description": "Cyprus Global Network account.",
            "$ref": "#/components/schemas/CyprusGlobalNetworkAccount"
          },
          "japanGlobalNetwork": {
            "type": "object",
            "description": "Japan Global Network account.",
            "$ref": "#/components/schemas/JapanGlobalNetworkAccount"
          },
          "southAfricaGlobalNetwork": {
            "type": "object",
            "description": "South Africa Global Network account.",
            "$ref": "#/components/schemas/SouthAfricaGlobalNetworkAccount"
          },
          "chileGlobalNetwork": {
            "type": "object",
            "description": "Chile Global Network account.",
            "$ref": "#/components/schemas/ChileGlobalNetworkAccount"
          },
          "belgiumGlobalNetwork": {
            "type": "object",
            "description": "Belgium Global Network account.",
            "$ref": "#/components/schemas/BelgiumGlobalNetworkAccount"
          },
          "thailandGlobalNetwork": {
            "type": "object",
            "description": "Thailand Global Network account.",
            "$ref": "#/components/schemas/ThailandGlobalNetworkAccount"
          },
          "indonesiaGlobalNetwork": {
            "type": "object",
            "description": "Indonesia Global Network account.",
            "$ref": "#/components/schemas/IndonesiaGlobalNetworkAccount"
          },
          "bulgariaGlobalNetwork": {
            "type": "object",
            "description": "Bulgaria Global Network account.",
            "$ref": "#/components/schemas/BulgariaGlobalNetworkAccount"
          },
          "icelandGlobalNetwork": {
            "type": "object",
            "description": "Iceland Global Network account.",
            "$ref": "#/components/schemas/IcelandGlobalNetworkAccount"
          },
          "luxembourgGlobalNetwork": {
            "type": "object",
            "description": "Luxembourg Global Network account.",
            "$ref": "#/components/schemas/LuxembourgGlobalNetworkAccount"
          },
          "maltaGlobalNetwork": {
            "type": "object",
            "description": "Malta Global Network account.",
            "$ref": "#/components/schemas/MaltaGlobalNetworkAccount"
          },
          "liechtensteinGlobalNetwork": {
            "type": "object",
            "description": "Liechtenstein Global Network account.",
            "$ref": "#/components/schemas/LiechtensteinGlobalNetworkAccount"
          },
          "southKoreaGlobalNetwork": {
            "type": "object",
            "description": "South Korea Global Network account.",
            "$ref": "#/components/schemas/SouthKoreaGlobalNetworkAccount"
          },
          "taiwanGlobalNetwork": {
            "type": "object",
            "description": "Taiwan Global Network account.",
            "$ref": "#/components/schemas/TaiwanGlobalNetworkAccount"
          },
          "colombiaGlobalNetwork": {
            "type": "object",
            "description": "Colombia Global Network account.",
            "$ref": "#/components/schemas/ColombiaGlobalNetworkAccount"
          },
          "argentinaGlobalNetwork": {
            "type": "object",
            "description": "Argentina Global Network account.",
            "$ref": "#/components/schemas/ArgentinaGlobalNetworkAccount"
          },
          "kenyaGlobalNetwork": {
            "type": "object",
            "description": "Kenya Global Network account.",
            "$ref": "#/components/schemas/KenyaGlobalNetworkAccount"
          },
          "australiaGlobalNetwork": {
            "type": "object",
            "description": "Australia Global Network account.",
            "$ref": "#/components/schemas/AustraliaGlobalNetworkAccount"
          },
          "newZealandGlobalNetwork": {
            "type": "object",
            "description": "New Zealand Global Network account.",
            "$ref": "#/components/schemas/NewZealandGlobalNetworkAccount"
          },
          "panamaGlobalNetwork": {
            "type": "object",
            "description": "Panama Global Network account.",
            "$ref": "#/components/schemas/PanamaGlobalNetworkAccount"
          },
          "paraguayGlobalNetwork": {
            "type": "object",
            "description": "Paraguay Global Network account.",
            "$ref": "#/components/schemas/ParaguayGlobalNetworkAccount"
          },
          "israelGlobalNetwork": {
            "type": "object",
            "description": "Israel Global Network account.",
            "$ref": "#/components/schemas/IsraelGlobalNetworkAccount"
          },
          "turkeyGlobalNetwork": {
            "type": "object",
            "description": "Turkey Global Network account.",
            "$ref": "#/components/schemas/TurkeyGlobalNetworkAccount"
          },
          "canadaGlobalNetwork": {
            "type": "object",
            "description": "Canada Global Network (USD SWIFT) account.",
            "$ref": "#/components/schemas/CanadaGlobalNetworkAccount"
          },
          "andorraGlobalNetwork": {
            "type": "object",
            "description": "Andorra Global Network account.",
            "$ref": "#/components/schemas/AndorraGlobalNetworkAccount"
          },
          "albaniaGlobalNetwork": {
            "type": "object",
            "description": "Albania Global Network account.",
            "$ref": "#/components/schemas/AlbaniaGlobalNetworkAccount"
          },
          "switzerlandGlobalNetwork": {
            "type": "object",
            "description": "Switzerland Global Network account.",
            "$ref": "#/components/schemas/SwitzerlandGlobalNetworkAccount"
          },
          "monacoGlobalNetwork": {
            "type": "object",
            "description": "Monaco Global Network account.",
            "$ref": "#/components/schemas/MonacoGlobalNetworkAccount"
          },
          "moldovaGlobalNetwork": {
            "type": "object",
            "description": "Moldova Global Network account.",
            "$ref": "#/components/schemas/MoldovaGlobalNetworkAccount"
          },
          "montenegroGlobalNetwork": {
            "type": "object",
            "description": "Montenegro Global Network account.",
            "$ref": "#/components/schemas/MontenegroGlobalNetworkAccount"
          },
          "northMacedoniaGlobalNetwork": {
            "type": "object",
            "description": "North Macedonia Global Network account.",
            "$ref": "#/components/schemas/NorthMacedoniaGlobalNetworkAccount"
          },
          "sanMarinoGlobalNetwork": {
            "type": "object",
            "description": "San Marino Global Network account.",
            "$ref": "#/components/schemas/SanMarinoGlobalNetworkAccount"
          },
          "vaticanCityGlobalNetwork": {
            "type": "object",
            "description": "Vatican City Global Network account.",
            "$ref": "#/components/schemas/VaticanCityGlobalNetworkAccount"
          },
          "unitedArabEmiratesGlobalNetwork": {
            "type": "object",
            "description": "United Arab Emirates Global Network account.",
            "$ref": "#/components/schemas/UnitedArabEmiratesGlobalNetworkAccount"
          },
          "philippinesGlobalNetwork": {
            "type": "object",
            "description": "Philippines Global Network account.",
            "$ref": "#/components/schemas/PhilippinesGlobalNetworkAccount"
          },
          "saudiArabiaGlobalNetwork": {
            "type": "object",
            "description": "Saudi Arabia Global Network account.",
            "$ref": "#/components/schemas/SaudiArabiaGlobalNetworkAccount"
          },
          "bahrainGlobalNetwork": {
            "type": "object",
            "description": "Bahrain Global Network account.",
            "$ref": "#/components/schemas/BahrainGlobalNetworkAccount"
          },
          "macauGlobalNetwork": {
            "type": "object",
            "description": "Macau Global Network account.",
            "$ref": "#/components/schemas/MacauGlobalNetworkAccount"
          },
          "uruguayGlobalNetwork": {
            "type": "object",
            "description": "Uruguay Global Network account.",
            "$ref": "#/components/schemas/UruguayGlobalNetworkAccount"
          },
          "guatemalaGlobalNetwork": {
            "type": "object",
            "description": "Guatemala Global Network account.",
            "$ref": "#/components/schemas/GuatemalaGlobalNetworkAccount"
          },
          "britishVirginIslandsGlobalNetwork": {
            "type": "object",
            "description": "British Virgin Islands Global Network account.",
            "$ref": "#/components/schemas/BritishVirginIslandsGlobalNetworkAccount"
          },
          "vietnamGlobalNetwork": {
            "type": "object",
            "description": "Vietnam Global Network account.",
            "$ref": "#/components/schemas/VietnamGlobalNetworkAccount"
          },
          "malaysiaGlobalNetwork": {
            "type": "object",
            "description": "Malaysia Global Network account.",
            "$ref": "#/components/schemas/MalaysiaGlobalNetworkAccount"
          },
          "omanGlobalNetwork": {
            "type": "object",
            "description": "Oman Global Network account.",
            "$ref": "#/components/schemas/OmanGlobalNetworkAccount"
          },
          "peruGlobalNetwork": {
            "type": "object",
            "description": "Peru Global Network account.",
            "$ref": "#/components/schemas/PeruGlobalNetworkAccount"
          },
          "algeriaGlobalNetwork": {
            "type": "object",
            "description": "Algeria Global Network account.",
            "$ref": "#/components/schemas/AlgeriaGlobalNetworkAccount"
          },
          "americanSamoaGlobalNetwork": {
            "type": "object",
            "description": "American Samoa Global Network account.",
            "$ref": "#/components/schemas/AmericanSamoaGlobalNetworkAccount"
          },
          "angolaGlobalNetwork": {
            "type": "object",
            "description": "Angola Global Network account.",
            "$ref": "#/components/schemas/AngolaGlobalNetworkAccount"
          },
          "anguillaGlobalNetwork": {
            "type": "object",
            "description": "Anguilla Global Network account.",
            "$ref": "#/components/schemas/AnguillaGlobalNetworkAccount"
          },
          "antiguaAndBarbudaGlobalNetwork": {
            "type": "object",
            "description": "Antigua And Barbuda Global Network account.",
            "$ref": "#/components/schemas/AntiguaAndBarbudaGlobalNetworkAccount"
          },
          "armeniaGlobalNetwork": {
            "type": "object",
            "description": "Armenia Global Network account.",
            "$ref": "#/components/schemas/ArmeniaGlobalNetworkAccount"
          },
          "arubaGlobalNetwork": {
            "type": "object",
            "description": "Aruba Global Network account.",
            "$ref": "#/components/schemas/ArubaGlobalNetworkAccount"
          },
          "azerbaijanGlobalNetwork": {
            "type": "object",
            "description": "Azerbaijan Global Network account.",
            "$ref": "#/components/schemas/AzerbaijanGlobalNetworkAccount"
          },
          "bahamasGlobalNetwork": {
            "type": "object",
            "description": "Bahamas Global Network account.",
            "$ref": "#/components/schemas/BahamasGlobalNetworkAccount"
          },
          "bangladeshGlobalNetwork": {
            "type": "object",
            "description": "Bangladesh Global Network account.",
            "$ref": "#/components/schemas/BangladeshGlobalNetworkAccount"
          },
          "barbadosGlobalNetwork": {
            "type": "object",
            "description": "Barbados Global Network account.",
            "$ref": "#/components/schemas/BarbadosGlobalNetworkAccount"
          },
          "belizeGlobalNetwork": {
            "type": "object",
            "description": "Belize Global Network account.",
            "$ref": "#/components/schemas/BelizeGlobalNetworkAccount"
          },
          "beninGlobalNetwork": {
            "type": "object",
            "description": "Benin Global Network account.",
            "$ref": "#/components/schemas/BeninGlobalNetworkAccount"
          },
          "bermudaGlobalNetwork": {
            "type": "object",
            "description": "Bermuda Global Network account.",
            "$ref": "#/components/schemas/BermudaGlobalNetworkAccount"
          },
          "bhutanGlobalNetwork": {
            "type": "object",
            "description": "Bhutan Global Network account.",
            "$ref": "#/components/schemas/BhutanGlobalNetworkAccount"
          },
          "boliviaGlobalNetwork": {
            "type": "object",
            "description": "Bolivia Global Network account.",
            "$ref": "#/components/schemas/BoliviaGlobalNetworkAccount"
          },
          "botswanaGlobalNetwork": {
            "type": "object",
            "description": "Botswana Global Network account.",
            "$ref": "#/components/schemas/BotswanaGlobalNetworkAccount"
          },
          "britishIndianOceanTerritoryGlobalNetwork": {
            "type": "object",
            "description": "British Indian Ocean Territory Global Network account.",
            "$ref": "#/components/schemas/BritishIndianOceanTerritoryGlobalNetworkAccount"
          },
          "bruneiGlobalNetwork": {
            "type": "object",
            "description": "Brunei Global Network account.",
            "$ref": "#/components/schemas/BruneiGlobalNetworkAccount"
          },
          "caboVerdeGlobalNetwork": {
            "type": "object",
            "description": "Cabo Verde Global Network account.",
            "$ref": "#/components/schemas/CaboVerdeGlobalNetworkAccount"
          },
          "caymanIslandsGlobalNetwork": {
            "type": "object",
            "description": "Cayman Islands Global Network account.",
            "$ref": "#/components/schemas/CaymanIslandsGlobalNetworkAccount"
          },
          "christmasIslandGlobalNetwork": {
            "type": "object",
            "description": "Christmas Island Global Network account.",
            "$ref": "#/components/schemas/ChristmasIslandGlobalNetworkAccount"
          },
          "cocosIslandsGlobalNetwork": {
            "type": "object",
            "description": "Cocos Islands Global Network account.",
            "$ref": "#/components/schemas/CocosIslandsGlobalNetworkAccount"
          },
          "comorosGlobalNetwork": {
            "type": "object",
            "description": "Comoros Global Network account.",
            "$ref": "#/components/schemas/ComorosGlobalNetworkAccount"
          },
          "cookIslandsGlobalNetwork": {
            "type": "object",
            "description": "Cook Islands Global Network account.",
            "$ref": "#/components/schemas/CookIslandsGlobalNetworkAccount"
          },
          "costaRicaGlobalNetwork": {
            "type": "object",
            "description": "Costa Rica Global Network account.",
            "$ref": "#/components/schemas/CostaRicaGlobalNetworkAccount"
          },
          "coteDIvoireGlobalNetwork": {
            "type": "object",
            "description": "Cote D Ivoire Global Network account.",
            "$ref": "#/components/schemas/CoteDIvoireGlobalNetworkAccount"
          },
          "curacaoGlobalNetwork": {
            "type": "object",
            "description": "Curacao Global Network account.",
            "$ref": "#/components/schemas/CuracaoGlobalNetworkAccount"
          },
          "djiboutiGlobalNetwork": {
            "type": "object",
            "description": "Djibouti Global Network account.",
            "$ref": "#/components/schemas/DjiboutiGlobalNetworkAccount"
          },
          "dominicaGlobalNetwork": {
            "type": "object",
            "description": "Dominica Global Network account.",
            "$ref": "#/components/schemas/DominicaGlobalNetworkAccount"
          },
          "dominicanRepublicGlobalNetwork": {
            "type": "object",
            "description": "Dominican Republic Global Network account.",
            "$ref": "#/components/schemas/DominicanRepublicGlobalNetworkAccount"
          },
          "ecuadorGlobalNetwork": {
            "type": "object",
            "description": "Ecuador Global Network account.",
            "$ref": "#/components/schemas/EcuadorGlobalNetworkAccount"
          },
          "egyptGlobalNetwork": {
            "type": "object",
            "description": "Egypt Global Network account.",
            "$ref": "#/components/schemas/EgyptGlobalNetworkAccount"
          },
          "elSalvadorGlobalNetwork": {
            "type": "object",
            "description": "El Salvador Global Network account.",
            "$ref": "#/components/schemas/ElSalvadorGlobalNetworkAccount"
          },
          "equatorialGuineaGlobalNetwork": {
            "type": "object",
            "description": "Equatorial Guinea Global Network account.",
            "$ref": "#/components/schemas/EquatorialGuineaGlobalNetworkAccount"
          },
          "eswatiniGlobalNetwork": {
            "type": "object",
            "description": "Eswatini Global Network account.",
            "$ref": "#/components/schemas/EswatiniGlobalNetworkAccount"
          },
          "falklandIslandsGlobalNetwork": {
            "type": "object",
            "description": "Falkland Islands Global Network account.",
            "$ref": "#/components/schemas/FalklandIslandsGlobalNetworkAccount"
          },
          "faroeIslandsGlobalNetwork": {
            "type": "object",
            "description": "Faroe Islands Global Network account.",
            "$ref": "#/components/schemas/FaroeIslandsGlobalNetworkAccount"
          },
          "fijiGlobalNetwork": {
            "type": "object",
            "description": "Fiji Global Network account.",
            "$ref": "#/components/schemas/FijiGlobalNetworkAccount"
          },
          "frenchGuianaGlobalNetwork": {
            "type": "object",
            "description": "French Guiana Global Network account.",
            "$ref": "#/components/schemas/FrenchGuianaGlobalNetworkAccount"
          },
          "frenchPolynesiaGlobalNetwork": {
            "type": "object",
            "description": "French Polynesia Global Network account.",
            "$ref": "#/components/schemas/FrenchPolynesiaGlobalNetworkAccount"
          },
          "gambiaGlobalNetwork": {
            "type": "object",
            "description": "Gambia Global Network account.",
            "$ref": "#/components/schemas/GambiaGlobalNetworkAccount"
          },
          "ghanaGlobalNetwork": {
            "type": "object",
            "description": "Ghana Global Network account.",
            "$ref": "#/components/schemas/GhanaGlobalNetworkAccount"
          },
          "gibraltarGlobalNetwork": {
            "type": "object",
            "description": "Gibraltar Global Network account.",
            "$ref": "#/components/schemas/GibraltarGlobalNetworkAccount"
          },
          "greenlandGlobalNetwork": {
            "type": "object",
            "description": "Greenland Global Network account.",
            "$ref": "#/components/schemas/GreenlandGlobalNetworkAccount"
          },
          "grenadaGlobalNetwork": {
            "type": "object",
            "description": "Grenada Global Network account.",
            "$ref": "#/components/schemas/GrenadaGlobalNetworkAccount"
          },
          "guadeloupeGlobalNetwork": {
            "type": "object",
            "description": "Guadeloupe Global Network account.",
            "$ref": "#/components/schemas/GuadeloupeGlobalNetworkAccount"
          },
          "guamGlobalNetwork": {
            "type": "object",
            "description": "Guam Global Network account.",
            "$ref": "#/components/schemas/GuamGlobalNetworkAccount"
          },
          "guineaGlobalNetwork": {
            "type": "object",
            "description": "Guinea Global Network account.",
            "$ref": "#/components/schemas/GuineaGlobalNetworkAccount"
          },
          "guyanaGlobalNetwork": {
            "type": "object",
            "description": "Guyana Global Network account.",
            "$ref": "#/components/schemas/GuyanaGlobalNetworkAccount"
          },
          "hondurasGlobalNetwork": {
            "type": "object",
            "description": "Honduras Global Network account.",
            "$ref": "#/components/schemas/HondurasGlobalNetworkAccount"
          },
          "isleOfManGlobalNetwork": {
            "type": "object",
            "description": "Isle Of Man Global Network account.",
            "$ref": "#/components/schemas/IsleOfManGlobalNetworkAccount"
          },
          "jerseyGlobalNetwork": {
            "type": "object",
            "description": "Jersey Global Network account.",
            "$ref": "#/components/schemas/JerseyGlobalNetworkAccount"
          },
          "jordanGlobalNetwork": {
            "type": "object",
            "description": "Jordan Global Network account.",
            "$ref": "#/components/schemas/JordanGlobalNetworkAccount"
          },
          "kazakhstanGlobalNetwork": {
            "type": "object",
            "description": "Kazakhstan Global Network account.",
            "$ref": "#/components/schemas/KazakhstanGlobalNetworkAccount"
          },
          "kiribatiGlobalNetwork": {
            "type": "object",
            "description": "Kiribati Global Network account.",
            "$ref": "#/components/schemas/KiribatiGlobalNetworkAccount"
          },
          "kuwaitGlobalNetwork": {
            "type": "object",
            "description": "Kuwait Global Network account.",
            "$ref": "#/components/schemas/KuwaitGlobalNetworkAccount"
          },
          "kyrgyzstanGlobalNetwork": {
            "type": "object",
            "description": "Kyrgyzstan Global Network account.",
            "$ref": "#/components/schemas/KyrgyzstanGlobalNetworkAccount"
          },
          "lesothoGlobalNetwork": {
            "type": "object",
            "description": "Lesotho Global Network account.",
            "$ref": "#/components/schemas/LesothoGlobalNetworkAccount"
          },
          "madagascarGlobalNetwork": {
            "type": "object",
            "description": "Madagascar Global Network account.",
            "$ref": "#/components/schemas/MadagascarGlobalNetworkAccount"
          },
          "malawiGlobalNetwork": {
            "type": "object",
            "description": "Malawi Global Network account.",
            "$ref": "#/components/schemas/MalawiGlobalNetworkAccount"
          },
          "maldivesGlobalNetwork": {
            "type": "object",
            "description": "Maldives Global Network account.",
            "$ref": "#/components/schemas/MaldivesGlobalNetworkAccount"
          },
          "marshallIslandsGlobalNetwork": {
            "type": "object",
            "description": "Marshall Islands Global Network account.",
            "$ref": "#/components/schemas/MarshallIslandsGlobalNetworkAccount"
          },
          "martiniqueGlobalNetwork": {
            "type": "object",
            "description": "Martinique Global Network account.",
            "$ref": "#/components/schemas/MartiniqueGlobalNetworkAccount"
          },
          "mauritaniaGlobalNetwork": {
            "type": "object",
            "description": "Mauritania Global Network account.",
            "$ref": "#/components/schemas/MauritaniaGlobalNetworkAccount"
          },
          "mauritiusGlobalNetwork": {
            "type": "object",
            "description": "Mauritius Global Network account.",
            "$ref": "#/components/schemas/MauritiusGlobalNetworkAccount"
          },
          "mayotteGlobalNetwork": {
            "type": "object",
            "description": "Mayotte Global Network account.",
            "$ref": "#/components/schemas/MayotteGlobalNetworkAccount"
          },
          "micronesiaGlobalNetwork": {
            "type": "object",
            "description": "Micronesia Global Network account.",
            "$ref": "#/components/schemas/MicronesiaGlobalNetworkAccount"
          },
          "mongoliaGlobalNetwork": {
            "type": "object",
            "description": "Mongolia Global Network account.",
            "$ref": "#/components/schemas/MongoliaGlobalNetworkAccount"
          },
          "montserratGlobalNetwork": {
            "type": "object",
            "description": "Montserrat Global Network account.",
            "$ref": "#/components/schemas/MontserratGlobalNetworkAccount"
          },
          "moroccoGlobalNetwork": {
            "type": "object",
            "description": "Morocco Global Network account.",
            "$ref": "#/components/schemas/MoroccoGlobalNetworkAccount"
          },
          "namibiaGlobalNetwork": {
            "type": "object",
            "description": "Namibia Global Network account.",
            "$ref": "#/components/schemas/NamibiaGlobalNetworkAccount"
          },
          "nauruGlobalNetwork": {
            "type": "object",
            "description": "Nauru Global Network account.",
            "$ref": "#/components/schemas/NauruGlobalNetworkAccount"
          },
          "nepalGlobalNetwork": {
            "type": "object",
            "description": "Nepal Global Network account.",
            "$ref": "#/components/schemas/NepalGlobalNetworkAccount"
          },
          "newCaledoniaGlobalNetwork": {
            "type": "object",
            "description": "New Caledonia Global Network account.",
            "$ref": "#/components/schemas/NewCaledoniaGlobalNetworkAccount"
          },
          "nigerGlobalNetwork": {
            "type": "object",
            "description": "Niger Global Network account.",
            "$ref": "#/components/schemas/NigerGlobalNetworkAccount"
          },
          "niueGlobalNetwork": {
            "type": "object",
            "description": "Niue Global Network account.",
            "$ref": "#/components/schemas/NiueGlobalNetworkAccount"
          },
          "norfolkIslandGlobalNetwork": {
            "type": "object",
            "description": "Norfolk Island Global Network account.",
            "$ref": "#/components/schemas/NorfolkIslandGlobalNetworkAccount"
          },
          "northernMarianaIslandsGlobalNetwork": {
            "type": "object",
            "description": "Northern Mariana Islands Global Network account.",
            "$ref": "#/components/schemas/NorthernMarianaIslandsGlobalNetworkAccount"
          },
          "pakistanGlobalNetwork": {
            "type": "object",
            "description": "Pakistan Global Network account.",
            "$ref": "#/components/schemas/PakistanGlobalNetworkAccount"
          },
          "palauGlobalNetwork": {
            "type": "object",
            "description": "Palau Global Network account.",
            "$ref": "#/components/schemas/PalauGlobalNetworkAccount"
          },
          "papuaNewGuineaGlobalNetwork": {
            "type": "object",
            "description": "Papua New Guinea Global Network account.",
            "$ref": "#/components/schemas/PapuaNewGuineaGlobalNetworkAccount"
          },
          "pitcairnGlobalNetwork": {
            "type": "object",
            "description": "Pitcairn Global Network account.",
            "$ref": "#/components/schemas/PitcairnGlobalNetworkAccount"
          },
          "puertoRicoGlobalNetwork": {
            "type": "object",
            "description": "Puerto Rico Global Network account.",
            "$ref": "#/components/schemas/PuertoRicoGlobalNetworkAccount"
          },
          "qatarGlobalNetwork": {
            "type": "object",
            "description": "Qatar Global Network account.",
            "$ref": "#/components/schemas/QatarGlobalNetworkAccount"
          },
          "reunionGlobalNetwork": {
            "type": "object",
            "description": "Reunion Global Network account.",
            "$ref": "#/components/schemas/ReunionGlobalNetworkAccount"
          },
          "rwandaGlobalNetwork": {
            "type": "object",
            "description": "Rwanda Global Network account.",
            "$ref": "#/components/schemas/RwandaGlobalNetworkAccount"
          },
          "saintBarthelemyGlobalNetwork": {
            "type": "object",
            "description": "Saint Barthelemy Global Network account.",
            "$ref": "#/components/schemas/SaintBarthelemyGlobalNetworkAccount"
          },
          "saintHelenaGlobalNetwork": {
            "type": "object",
            "description": "Saint Helena Global Network account.",
            "$ref": "#/components/schemas/SaintHelenaGlobalNetworkAccount"
          },
          "saintKittsAndNevisGlobalNetwork": {
            "type": "object",
            "description": "Saint Kitts And Nevis Global Network account.",
            "$ref": "#/components/schemas/SaintKittsAndNevisGlobalNetworkAccount"
          },
          "saintLuciaGlobalNetwork": {
            "type": "object",
            "description": "Saint Lucia Global Network account.",
            "$ref": "#/components/schemas/SaintLuciaGlobalNetworkAccount"
          },
          "saintMartinGlobalNetwork": {
            "type": "object",
            "description": "Saint Martin Global Network account.",
            "$ref": "#/components/schemas/SaintMartinGlobalNetworkAccount"
          },
          "saintPierreAndMiquelonGlobalNetwork": {
            "type": "object",
            "description": "Saint Pierre And Miquelon Global Network account.",
            "$ref": "#/components/schemas/SaintPierreAndMiquelonGlobalNetworkAccount"
          },
          "saintVincentAndTheGrenadinesGlobalNetwork": {
            "type": "object",
            "description": "Saint Vincent And The Grenadines Global Network account.",
            "$ref": "#/components/schemas/SaintVincentAndTheGrenadinesGlobalNetworkAccount"
          },
          "samoaGlobalNetwork": {
            "type": "object",
            "description": "Samoa Global Network account.",
            "$ref": "#/components/schemas/SamoaGlobalNetworkAccount"
          },
          "saoTomeAndPrincipeGlobalNetwork": {
            "type": "object",
            "description": "Sao Tome And Principe Global Network account.",
            "$ref": "#/components/schemas/SaoTomeAndPrincipeGlobalNetworkAccount"
          },
          "senegalGlobalNetwork": {
            "type": "object",
            "description": "Senegal Global Network account.",
            "$ref": "#/components/schemas/SenegalGlobalNetworkAccount"
          },
          "seychellesGlobalNetwork": {
            "type": "object",
            "description": "Seychelles Global Network account.",
            "$ref": "#/components/schemas/SeychellesGlobalNetworkAccount"
          },
          "sierraLeoneGlobalNetwork": {
            "type": "object",
            "description": "Sierra Leone Global Network account.",
            "$ref": "#/components/schemas/SierraLeoneGlobalNetworkAccount"
          },
          "sintMaartenGlobalNetwork": {
            "type": "object",
            "description": "Sint Maarten Global Network account.",
            "$ref": "#/components/schemas/SintMaartenGlobalNetworkAccount"
          },
          "solomonIslandsGlobalNetwork": {
            "type": "object",
            "description": "Solomon Islands Global Network account.",
            "$ref": "#/components/schemas/SolomonIslandsGlobalNetworkAccount"
          },
          "sriLankaGlobalNetwork": {
            "type": "object",
            "description": "Sri Lanka Global Network account.",
            "$ref": "#/components/schemas/SriLankaGlobalNetworkAccount"
          },
          "surinameGlobalNetwork": {
            "type": "object",
            "description": "Suriname Global Network account.",
            "$ref": "#/components/schemas/SurinameGlobalNetworkAccount"
          },
          "svalbardAndJanMayenGlobalNetwork": {
            "type": "object",
            "description": "Svalbard And Jan Mayen Global Network account.",
            "$ref": "#/components/schemas/SvalbardAndJanMayenGlobalNetworkAccount"
          },
          "tajikistanGlobalNetwork": {
            "type": "object",
            "description": "Tajikistan Global Network account.",
            "$ref": "#/components/schemas/TajikistanGlobalNetworkAccount"
          },
          "timorLesteGlobalNetwork": {
            "type": "object",
            "description": "Timor Leste Global Network account.",
            "$ref": "#/components/schemas/TimorLesteGlobalNetworkAccount"
          },
          "togoGlobalNetwork": {
            "type": "object",
            "description": "Togo Global Network account.",
            "$ref": "#/components/schemas/TogoGlobalNetworkAccount"
          },
          "tokelauGlobalNetwork": {
            "type": "object",
            "description": "Tokelau Global Network account.",
            "$ref": "#/components/schemas/TokelauGlobalNetworkAccount"
          },
          "tongaGlobalNetwork": {
            "type": "object",
            "description": "Tonga Global Network account.",
            "$ref": "#/components/schemas/TongaGlobalNetworkAccount"
          },
          "trinidadAndTobagoGlobalNetwork": {
            "type": "object",
            "description": "Trinidad And Tobago Global Network account.",
            "$ref": "#/components/schemas/TrinidadAndTobagoGlobalNetworkAccount"
          },
          "tunisiaGlobalNetwork": {
            "type": "object",
            "description": "Tunisia Global Network account.",
            "$ref": "#/components/schemas/TunisiaGlobalNetworkAccount"
          },
          "turkmenistanGlobalNetwork": {
            "type": "object",
            "description": "Turkmenistan Global Network account.",
            "$ref": "#/components/schemas/TurkmenistanGlobalNetworkAccount"
          },
          "turksAndCaicosIslandsGlobalNetwork": {
            "type": "object",
            "description": "Turks And Caicos Islands Global Network account.",
            "$ref": "#/components/schemas/TurksAndCaicosIslandsGlobalNetworkAccount"
          },
          "tuvaluGlobalNetwork": {
            "type": "object",
            "description": "Tuvalu Global Network account.",
            "$ref": "#/components/schemas/TuvaluGlobalNetworkAccount"
          },
          "usVirginIslandsGlobalNetwork": {
            "type": "object",
            "description": "Us Virgin Islands Global Network account.",
            "$ref": "#/components/schemas/UsVirginIslandsGlobalNetworkAccount"
          },
          "ugandaGlobalNetwork": {
            "type": "object",
            "description": "Uganda Global Network account.",
            "$ref": "#/components/schemas/UgandaGlobalNetworkAccount"
          },
          "uzbekistanGlobalNetwork": {
            "type": "object",
            "description": "Uzbekistan Global Network account.",
            "$ref": "#/components/schemas/UzbekistanGlobalNetworkAccount"
          },
          "vanuatuGlobalNetwork": {
            "type": "object",
            "description": "Vanuatu Global Network account.",
            "$ref": "#/components/schemas/VanuatuGlobalNetworkAccount"
          },
          "wallisAndFutunaGlobalNetwork": {
            "type": "object",
            "description": "Wallis And Futuna Global Network account.",
            "$ref": "#/components/schemas/WallisAndFutunaGlobalNetworkAccount"
          },
          "westernSaharaGlobalNetwork": {
            "type": "object",
            "description": "Western Sahara Global Network account.",
            "$ref": "#/components/schemas/WesternSaharaGlobalNetworkAccount"
          },
          "zambiaGlobalNetwork": {
            "type": "object",
            "description": "Zambia Global Network account.",
            "$ref": "#/components/schemas/ZambiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type"
        ]
      },
      "CreateUsAccount": {
        "type": "object",
        "title": "US Offramp Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "us"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/UsAccountHolder"
          },
          "us": {
            "type": "object",
            "description": "US account.",
            "$ref": "#/components/schemas/UsAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "us"
        ]
      },
      "CreateBrazilAccount": {
        "type": "object",
        "title": "Brazil Offramp Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "brazil"
            ]
          },
          "brazil": {
            "type": "object",
            "description": "Brazil account.",
            "$ref": "#/components/schemas/BrazilAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "brazil"
        ]
      },
      "CreateBrazilGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Brazil Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "brazilGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "brazilGlobalNetwork": {
            "type": "object",
            "description": "Brazil Global Network account.",
            "$ref": "#/components/schemas/BrazilGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "brazilGlobalNetwork"
        ]
      },
      "CreateBrazilGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Brazil Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "brazilGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "brazilGlobalNetwork": {
            "type": "object",
            "description": "Brazil Global Network account.",
            "$ref": "#/components/schemas/BrazilGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "brazilGlobalNetwork"
        ]
      },
      "BrazilGlobalNetworkAccount": {
        "type": "object",
        "title": "Brazil Global Network Account",
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "description": "Provide when idNumber does not serve as offramp destination identifier\nAt most one of the following fields can be provided: pix, email, phone.\n"
          },
          "phone": {
            "type": "string",
            "description": "Provide when idNumber does not serve as offramp destination identifier\nAt most one of the following fields can be provided: pix, email, phone.\n"
          },
          "pix": {
            "type": "string",
            "description": "Provide when idNumber does not serve as offramp destination identifier\nAt most one of the following fields can be provided: pix, email, phone.\n"
          },
          "currency": {
            "type": "string",
            "enum": [
              "brl",
              "usd"
            ],
            "description": "The currency for the account"
          },
          "transferType": {
            "type": "string",
            "enum": [
              "pix",
              "swift"
            ],
            "description": "Transfer type of the account. `pix` is the default transfer type if not provided."
          }
        },
        "required": [
          "currency",
          "transferType"
        ]
      },
      "CreateItalyGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Italy Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "italyGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "italyGlobalNetwork": {
            "type": "object",
            "description": "Italy Global Network account.",
            "$ref": "#/components/schemas/ItalyGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "italyGlobalNetwork"
        ]
      },
      "CreateItalyGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Italy Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "italyGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "italyGlobalNetwork": {
            "type": "object",
            "description": "Italy Global Network account.",
            "$ref": "#/components/schemas/ItalyGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "italyGlobalNetwork"
        ]
      },
      "ItalyGlobalNetworkAccount": {
        "type": "object",
        "title": "Italy Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSpainGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Spain Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "spainGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "spainGlobalNetwork": {
            "type": "object",
            "description": "Spain Global Network account.",
            "$ref": "#/components/schemas/SpainGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "spainGlobalNetwork"
        ]
      },
      "CreateSpainGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Spain Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "spainGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "spainGlobalNetwork": {
            "type": "object",
            "description": "Spain Global Network account.",
            "$ref": "#/components/schemas/SpainGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "spainGlobalNetwork"
        ]
      },
      "SpainGlobalNetworkAccount": {
        "type": "object",
        "title": "Spain Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateGermanyGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Germany Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "germanyGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "germanyGlobalNetwork": {
            "type": "object",
            "description": "Germany Global Network account.",
            "$ref": "#/components/schemas/GermanyGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "germanyGlobalNetwork"
        ]
      },
      "CreateGermanyGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Germany Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "germanyGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "germanyGlobalNetwork": {
            "type": "object",
            "description": "Germany Global Network account.",
            "$ref": "#/components/schemas/GermanyGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "germanyGlobalNetwork"
        ]
      },
      "GermanyGlobalNetworkAccount": {
        "type": "object",
        "title": "Germany Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateFranceGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "France Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "franceGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "franceGlobalNetwork": {
            "type": "object",
            "description": "France Global Network account.",
            "$ref": "#/components/schemas/FranceGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "franceGlobalNetwork"
        ]
      },
      "CreateFranceGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "France Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "franceGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "franceGlobalNetwork": {
            "type": "object",
            "description": "France Global Network account.",
            "$ref": "#/components/schemas/FranceGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "franceGlobalNetwork"
        ]
      },
      "FranceGlobalNetworkAccount": {
        "type": "object",
        "title": "France Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateUnitedKingdomGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "United Kingdom Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "unitedKingdomGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "unitedKingdomGlobalNetwork": {
            "type": "object",
            "description": "United Kingdom Global Network account.",
            "$ref": "#/components/schemas/UnitedKingdomGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "unitedKingdomGlobalNetwork"
        ]
      },
      "CreateUnitedKingdomGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "United Kingdom Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "unitedKingdomGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "unitedKingdomGlobalNetwork": {
            "type": "object",
            "description": "United Kingdom Global Network account.",
            "$ref": "#/components/schemas/UnitedKingdomGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "unitedKingdomGlobalNetwork"
        ]
      },
      "UnitedKingdomGlobalNetworkAccount": {
        "type": "object",
        "title": "United Kingdom Global Network Account",
        "description": "Required fields depend on transfer type.\n- `swift` (default): `currency` must be `usd`, `iban` and `swiftCode` are required.\n- `sepa`: `currency` must be `eur`, `iban` and `swiftCode` are required.\n- `bank` (local transfer within the United Kingdom): `currency` must be `gbp`, `accountNumber` and `sortCode` are required.\n",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa",
              "bank"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur",
              "gbp"
            ],
            "description": "The currency for the account. `usd` for SWIFT, `eur` for SEPA, `gbp` for local transfer."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account."
          },
          "iban": {
            "type": "string",
            "description": "IBAN number. Required for `swift` and `sepa` transfers."
          },
          "swiftCode": {
            "type": "string",
            "description": "SWIFT/BIC code. Required for `swift` and `sepa` transfers."
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number. Required for `bank` (local) transfers."
          },
          "sortCode": {
            "type": "string",
            "pattern": "^\\d{6}$",
            "description": "UK sort code. Exactly 6 digits, no separators. Required for `bank` (local) transfers."
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName"
        ]
      },
      "CreateIndiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "India Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "indiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "indiaGlobalNetwork": {
            "type": "object",
            "description": "India Global Network account.",
            "$ref": "#/components/schemas/IndiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "indiaGlobalNetwork"
        ]
      },
      "CreateIndiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "India Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "indiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "indiaGlobalNetwork": {
            "type": "object",
            "description": "India Global Network account.",
            "$ref": "#/components/schemas/IndiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "indiaGlobalNetwork"
        ]
      },
      "IndiaGlobalNetworkAccount": {
        "type": "object",
        "title": "India Global Network Account",
        "description": "Required fields depend on `currency`:\n- `inr`: the required bank fields depend on `transferType` — `account_ifsc` needs\n  `accountNumber` + `ifsc`; `imps_p2p` needs `beneficiaryPhone` + `mmid`.\n- `usd`: requires `bankName`, `accountNumber`, `swiftCode`.\n\nSubmitting a field set that does not match `currency`/`transferType` returns a field\nvalidation error.\n",
        "properties": {
          "currency": {
            "type": "string",
            "enum": [
              "inr",
              "usd"
            ],
            "description": "The currency for the account."
          },
          "transferType": {
            "type": "string",
            "enum": [
              "account_ifsc",
              "imps_p2p",
              "swift"
            ],
            "description": "For `currency: inr`: `account_ifsc` pays to a bank account number + IFSC code, `imps_p2p`\npays to a mobile number + MMID via IMPS. For `currency: usd`: `swift` (default) pays via\nSWIFT wire.\n"
          },
          "accountNumber": {
            "type": "string",
            "description": "Beneficiary bank account number. Required for `account_ifsc` (inr) and for `usd`.\n"
          },
          "ifsc": {
            "type": "string",
            "description": "IFSC code of the beneficiary bank branch — 4 letters, then `0`, then 6 alphanumeric\ncharacters (e.g. `HDFC0001234`). Required for `account_ifsc` (inr).\n"
          },
          "beneficiaryPhone": {
            "type": "string",
            "description": "Beneficiary Indian mobile number — 10 digits starting with 6-9 (no country code).\nRequired for `imps_p2p` (inr).\n"
          },
          "mmid": {
            "type": "string",
            "description": "Beneficiary Mobile Money Identifier — 7 digits, issued by the beneficiary's bank.\nRequired for `imps_p2p` (inr).\n"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account. Required for `usd`."
          },
          "swiftCode": {
            "type": "string",
            "description": "SWIFT/BIC code. Required for `usd`."
          }
        },
        "required": [
          "currency",
          "transferType"
        ]
      },
      "CreateLithuaniaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Lithuania Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "lithuaniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "lithuaniaGlobalNetwork": {
            "type": "object",
            "description": "Lithuania Global Network account.",
            "$ref": "#/components/schemas/LithuaniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "lithuaniaGlobalNetwork"
        ]
      },
      "CreateLithuaniaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Lithuania Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "lithuaniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "lithuaniaGlobalNetwork": {
            "type": "object",
            "description": "Lithuania Global Network account.",
            "$ref": "#/components/schemas/LithuaniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "lithuaniaGlobalNetwork"
        ]
      },
      "LithuaniaGlobalNetworkAccount": {
        "type": "object",
        "title": "Lithuania Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateNetherlandsGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Netherlands Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "netherlandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "netherlandsGlobalNetwork": {
            "type": "object",
            "description": "Netherlands Global Network account.",
            "$ref": "#/components/schemas/NetherlandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "netherlandsGlobalNetwork"
        ]
      },
      "CreateNetherlandsGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Netherlands Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "netherlandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "netherlandsGlobalNetwork": {
            "type": "object",
            "description": "Netherlands Global Network account.",
            "$ref": "#/components/schemas/NetherlandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "netherlandsGlobalNetwork"
        ]
      },
      "NetherlandsGlobalNetworkAccount": {
        "type": "object",
        "title": "Netherlands Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateHungaryGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Hungary Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "hungaryGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "hungaryGlobalNetwork": {
            "type": "object",
            "description": "Hungary Global Network account.",
            "$ref": "#/components/schemas/HungaryGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "hungaryGlobalNetwork"
        ]
      },
      "CreateHungaryGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Hungary Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "hungaryGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "hungaryGlobalNetwork": {
            "type": "object",
            "description": "Hungary Global Network account.",
            "$ref": "#/components/schemas/HungaryGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "hungaryGlobalNetwork"
        ]
      },
      "HungaryGlobalNetworkAccount": {
        "type": "object",
        "title": "Hungary Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateGreeceGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Greece Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "greeceGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "greeceGlobalNetwork": {
            "type": "object",
            "description": "Greece Global Network account.",
            "$ref": "#/components/schemas/GreeceGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "greeceGlobalNetwork"
        ]
      },
      "CreateGreeceGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Greece Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "greeceGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "greeceGlobalNetwork": {
            "type": "object",
            "description": "Greece Global Network account.",
            "$ref": "#/components/schemas/GreeceGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "greeceGlobalNetwork"
        ]
      },
      "GreeceGlobalNetworkAccount": {
        "type": "object",
        "title": "Greece Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateAustriaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Austria Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "austriaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "austriaGlobalNetwork": {
            "type": "object",
            "description": "Austria Global Network account.",
            "$ref": "#/components/schemas/AustriaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "austriaGlobalNetwork"
        ]
      },
      "CreateAustriaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Austria Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "austriaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "austriaGlobalNetwork": {
            "type": "object",
            "description": "Austria Global Network account.",
            "$ref": "#/components/schemas/AustriaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "austriaGlobalNetwork"
        ]
      },
      "AustriaGlobalNetworkAccount": {
        "type": "object",
        "title": "Austria Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateIrelandGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Ireland Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "irelandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "irelandGlobalNetwork": {
            "type": "object",
            "description": "Ireland Global Network account.",
            "$ref": "#/components/schemas/IrelandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "irelandGlobalNetwork"
        ]
      },
      "CreateIrelandGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Ireland Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "irelandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "irelandGlobalNetwork": {
            "type": "object",
            "description": "Ireland Global Network account.",
            "$ref": "#/components/schemas/IrelandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "irelandGlobalNetwork"
        ]
      },
      "IrelandGlobalNetworkAccount": {
        "type": "object",
        "title": "Ireland Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreatePortugalGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Portugal Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "portugalGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "portugalGlobalNetwork": {
            "type": "object",
            "description": "Portugal Global Network account.",
            "$ref": "#/components/schemas/PortugalGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "portugalGlobalNetwork"
        ]
      },
      "CreatePortugalGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Portugal Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "portugalGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "portugalGlobalNetwork": {
            "type": "object",
            "description": "Portugal Global Network account.",
            "$ref": "#/components/schemas/PortugalGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "portugalGlobalNetwork"
        ]
      },
      "PortugalGlobalNetworkAccount": {
        "type": "object",
        "title": "Portugal Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateDenmarkGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Denmark Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "denmarkGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "denmarkGlobalNetwork": {
            "type": "object",
            "description": "Denmark Global Network account.",
            "$ref": "#/components/schemas/DenmarkGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "denmarkGlobalNetwork"
        ]
      },
      "CreateDenmarkGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Denmark Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "denmarkGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "denmarkGlobalNetwork": {
            "type": "object",
            "description": "Denmark Global Network account.",
            "$ref": "#/components/schemas/DenmarkGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "denmarkGlobalNetwork"
        ]
      },
      "DenmarkGlobalNetworkAccount": {
        "type": "object",
        "title": "Denmark Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateNorwayGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Norway Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "norwayGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "norwayGlobalNetwork": {
            "type": "object",
            "description": "Norway Global Network account.",
            "$ref": "#/components/schemas/NorwayGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "norwayGlobalNetwork"
        ]
      },
      "CreateNorwayGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Norway Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "norwayGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "norwayGlobalNetwork": {
            "type": "object",
            "description": "Norway Global Network account.",
            "$ref": "#/components/schemas/NorwayGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "norwayGlobalNetwork"
        ]
      },
      "NorwayGlobalNetworkAccount": {
        "type": "object",
        "title": "Norway Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateCroatiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Croatia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "croatiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "croatiaGlobalNetwork": {
            "type": "object",
            "description": "Croatia Global Network account.",
            "$ref": "#/components/schemas/CroatiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "croatiaGlobalNetwork"
        ]
      },
      "CreateCroatiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Croatia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "croatiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "croatiaGlobalNetwork": {
            "type": "object",
            "description": "Croatia Global Network account.",
            "$ref": "#/components/schemas/CroatiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "croatiaGlobalNetwork"
        ]
      },
      "CroatiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Croatia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSlovakiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Slovakia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "slovakiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "slovakiaGlobalNetwork": {
            "type": "object",
            "description": "Slovakia Global Network account.",
            "$ref": "#/components/schemas/SlovakiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "slovakiaGlobalNetwork"
        ]
      },
      "CreateSlovakiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Slovakia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "slovakiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "slovakiaGlobalNetwork": {
            "type": "object",
            "description": "Slovakia Global Network account.",
            "$ref": "#/components/schemas/SlovakiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "slovakiaGlobalNetwork"
        ]
      },
      "SlovakiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Slovakia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSwedenGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Sweden Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "swedenGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "swedenGlobalNetwork": {
            "type": "object",
            "description": "Sweden Global Network account.",
            "$ref": "#/components/schemas/SwedenGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "swedenGlobalNetwork"
        ]
      },
      "CreateSwedenGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Sweden Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "swedenGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "swedenGlobalNetwork": {
            "type": "object",
            "description": "Sweden Global Network account.",
            "$ref": "#/components/schemas/SwedenGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "swedenGlobalNetwork"
        ]
      },
      "SwedenGlobalNetworkAccount": {
        "type": "object",
        "title": "Sweden Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreatePolandGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Poland Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "polandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "polandGlobalNetwork": {
            "type": "object",
            "description": "Poland Global Network account.",
            "$ref": "#/components/schemas/PolandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "polandGlobalNetwork"
        ]
      },
      "CreatePolandGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Poland Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "polandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "polandGlobalNetwork": {
            "type": "object",
            "description": "Poland Global Network account.",
            "$ref": "#/components/schemas/PolandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "polandGlobalNetwork"
        ]
      },
      "PolandGlobalNetworkAccount": {
        "type": "object",
        "title": "Poland Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSloveniaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Slovenia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "sloveniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "sloveniaGlobalNetwork": {
            "type": "object",
            "description": "Slovenia Global Network account.",
            "$ref": "#/components/schemas/SloveniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "sloveniaGlobalNetwork"
        ]
      },
      "CreateSloveniaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Slovenia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "sloveniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "sloveniaGlobalNetwork": {
            "type": "object",
            "description": "Slovenia Global Network account.",
            "$ref": "#/components/schemas/SloveniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "sloveniaGlobalNetwork"
        ]
      },
      "SloveniaGlobalNetworkAccount": {
        "type": "object",
        "title": "Slovenia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateRomaniaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Romania Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "romaniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "romaniaGlobalNetwork": {
            "type": "object",
            "description": "Romania Global Network account.",
            "$ref": "#/components/schemas/RomaniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "romaniaGlobalNetwork"
        ]
      },
      "CreateRomaniaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Romania Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "romaniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "romaniaGlobalNetwork": {
            "type": "object",
            "description": "Romania Global Network account.",
            "$ref": "#/components/schemas/RomaniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "romaniaGlobalNetwork"
        ]
      },
      "RomaniaGlobalNetworkAccount": {
        "type": "object",
        "title": "Romania Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateFinlandGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Finland Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "finlandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "finlandGlobalNetwork": {
            "type": "object",
            "description": "Finland Global Network account.",
            "$ref": "#/components/schemas/FinlandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "finlandGlobalNetwork"
        ]
      },
      "CreateFinlandGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Finland Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "finlandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "finlandGlobalNetwork": {
            "type": "object",
            "description": "Finland Global Network account.",
            "$ref": "#/components/schemas/FinlandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "finlandGlobalNetwork"
        ]
      },
      "FinlandGlobalNetworkAccount": {
        "type": "object",
        "title": "Finland Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateLatviaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Latvia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "latviaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "latviaGlobalNetwork": {
            "type": "object",
            "description": "Latvia Global Network account.",
            "$ref": "#/components/schemas/LatviaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "latviaGlobalNetwork"
        ]
      },
      "CreateLatviaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Latvia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "latviaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "latviaGlobalNetwork": {
            "type": "object",
            "description": "Latvia Global Network account.",
            "$ref": "#/components/schemas/LatviaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "latviaGlobalNetwork"
        ]
      },
      "LatviaGlobalNetworkAccount": {
        "type": "object",
        "title": "Latvia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateCzechRepublicGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Czech Republic Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "czechRepublicGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "czechRepublicGlobalNetwork": {
            "type": "object",
            "description": "Czech Republic Global Network account.",
            "$ref": "#/components/schemas/CzechRepublicGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "czechRepublicGlobalNetwork"
        ]
      },
      "CreateCzechRepublicGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Czech Republic Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "czechRepublicGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "czechRepublicGlobalNetwork": {
            "type": "object",
            "description": "Czech Republic Global Network account.",
            "$ref": "#/components/schemas/CzechRepublicGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "czechRepublicGlobalNetwork"
        ]
      },
      "CzechRepublicGlobalNetworkAccount": {
        "type": "object",
        "title": "Czech Republic Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSerbiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Serbia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "serbiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "serbiaGlobalNetwork": {
            "type": "object",
            "description": "Serbia Global Network account.",
            "$ref": "#/components/schemas/SerbiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "serbiaGlobalNetwork"
        ]
      },
      "CreateSerbiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Serbia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "serbiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "serbiaGlobalNetwork": {
            "type": "object",
            "description": "Serbia Global Network account.",
            "$ref": "#/components/schemas/SerbiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "serbiaGlobalNetwork"
        ]
      },
      "SerbiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Serbia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateEstoniaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Estonia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "estoniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "estoniaGlobalNetwork": {
            "type": "object",
            "description": "Estonia Global Network account.",
            "$ref": "#/components/schemas/EstoniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "estoniaGlobalNetwork"
        ]
      },
      "CreateEstoniaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Estonia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "estoniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "estoniaGlobalNetwork": {
            "type": "object",
            "description": "Estonia Global Network account.",
            "$ref": "#/components/schemas/EstoniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "estoniaGlobalNetwork"
        ]
      },
      "EstoniaGlobalNetworkAccount": {
        "type": "object",
        "title": "Estonia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateCyprusGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Cyprus Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "cyprusGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "cyprusGlobalNetwork": {
            "type": "object",
            "description": "Cyprus Global Network account.",
            "$ref": "#/components/schemas/CyprusGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "cyprusGlobalNetwork"
        ]
      },
      "CreateCyprusGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Cyprus Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "cyprusGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "cyprusGlobalNetwork": {
            "type": "object",
            "description": "Cyprus Global Network account.",
            "$ref": "#/components/schemas/CyprusGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "cyprusGlobalNetwork"
        ]
      },
      "CyprusGlobalNetworkAccount": {
        "type": "object",
        "title": "Cyprus Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateJapanGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Japan Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "japanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "japanGlobalNetwork": {
            "type": "object",
            "description": "Japan Global Network account.",
            "$ref": "#/components/schemas/JapanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "japanGlobalNetwork"
        ]
      },
      "CreateJapanGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Japan Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "japanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "japanGlobalNetwork": {
            "type": "object",
            "description": "Japan Global Network account.",
            "$ref": "#/components/schemas/JapanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "japanGlobalNetwork"
        ]
      },
      "JapanGlobalNetworkAccount": {
        "type": "object",
        "title": "Japan Global Network Account",
        "description": "Required fields depend on transfer type.\n- `swift` (default): `currency` must be `usd`, `swiftCode` is required.\n- `bank` (local transfer within Japan): `currency` must be `jpy`, `bankCode`, `accountType`, and `zenginBranchCode` are required (no `swiftCode`).\n",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "bank"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "jpy"
            ],
            "description": "The currency for the account. `usd` for SWIFT, `jpy` for local transfer."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code. Required for `swift` transfers."
          },
          "bankCode": {
            "type": "string",
            "pattern": "^\\d{4}$",
            "description": "Zengin financial institution code. Exactly 4 digits. Required for `bank` (local) transfers."
          },
          "accountType": {
            "type": "string",
            "enum": [
              "Checking",
              "Savings"
            ],
            "description": "Account type. Required for `bank` (local) transfers."
          },
          "zenginBranchCode": {
            "type": "string",
            "pattern": "^\\d{3}$",
            "description": "Zengin branch code. Exactly 3 digits. Required for `bank` (local) transfers."
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber"
        ]
      },
      "CreateSouthAfricaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "South Africa Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "southAfricaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "southAfricaGlobalNetwork": {
            "type": "object",
            "description": "South Africa Global Network account.",
            "$ref": "#/components/schemas/SouthAfricaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "southAfricaGlobalNetwork"
        ]
      },
      "CreateSouthAfricaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "South Africa Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "southAfricaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "southAfricaGlobalNetwork": {
            "type": "object",
            "description": "South Africa Global Network account.",
            "$ref": "#/components/schemas/SouthAfricaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "southAfricaGlobalNetwork"
        ]
      },
      "SouthAfricaGlobalNetworkAccount": {
        "type": "object",
        "title": "South Africa Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateChileGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Chile Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "chileGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "chileGlobalNetwork": {
            "type": "object",
            "description": "Chile Global Network account.",
            "$ref": "#/components/schemas/ChileGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "chileGlobalNetwork"
        ]
      },
      "CreateChileGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Chile Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "chileGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "chileGlobalNetwork": {
            "type": "object",
            "description": "Chile Global Network account.",
            "$ref": "#/components/schemas/ChileGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "chileGlobalNetwork"
        ]
      },
      "ChileGlobalNetworkAccount": {
        "type": "object",
        "title": "Chile Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateBelgiumGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Belgium Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "belgiumGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "belgiumGlobalNetwork": {
            "type": "object",
            "description": "Belgium Global Network account.",
            "$ref": "#/components/schemas/BelgiumGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "belgiumGlobalNetwork"
        ]
      },
      "CreateBelgiumGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Belgium Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "belgiumGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "belgiumGlobalNetwork": {
            "type": "object",
            "description": "Belgium Global Network account.",
            "$ref": "#/components/schemas/BelgiumGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "belgiumGlobalNetwork"
        ]
      },
      "BelgiumGlobalNetworkAccount": {
        "type": "object",
        "title": "Belgium Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateThailandGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Thailand Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "thailandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "thailandGlobalNetwork": {
            "type": "object",
            "description": "Thailand Global Network account.",
            "$ref": "#/components/schemas/ThailandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "thailandGlobalNetwork"
        ]
      },
      "CreateThailandGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Thailand Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "thailandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "thailandGlobalNetwork": {
            "type": "object",
            "description": "Thailand Global Network account.",
            "$ref": "#/components/schemas/ThailandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "thailandGlobalNetwork"
        ]
      },
      "ThailandGlobalNetworkAccount": {
        "type": "object",
        "title": "Thailand Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateIndonesiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Indonesia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "indonesiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "indonesiaGlobalNetwork": {
            "type": "object",
            "description": "Indonesia Global Network account.",
            "$ref": "#/components/schemas/IndonesiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "indonesiaGlobalNetwork"
        ]
      },
      "CreateIndonesiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Indonesia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "indonesiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "indonesiaGlobalNetwork": {
            "type": "object",
            "description": "Indonesia Global Network account.",
            "$ref": "#/components/schemas/IndonesiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "indonesiaGlobalNetwork"
        ]
      },
      "IndonesiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Indonesia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "enum": [
              "Bank Pembangunan Daerah Jawa Timur",
              "Bank Syariah Mega",
              "Bank OCBC NISP Syariah (UUS)",
              "Bank Pembangunan Daerah Nusa Tenggara Timur",
              "Bank Jasa Jakarta",
              "Bank Ina Perdania",
              "Bank Danamon Syariah (UUS)",
              "Bank Capital Indonesia",
              "Bank Maspion Indonesia",
              "Bank UOB Indonesia",
              "Bank Index Selindo",
              "Citibank",
              "Bank Panin",
              "Bank OCBC NISP",
              "Bank Amar Indonesia (formerly called Anglomas International Bank)",
              "Bank Mega",
              "Bank Pembangunan Daerah Kalimantan Timur",
              "Bank Multi Arta Sentosa",
              "Bank Tabungan Pensiunan Nasional (BTPN)",
              "Prima Master Bank",
              "Bank Pembangunan Daerah Kalimantan Selatan Syariah (UUS)",
              "Bank Pembangunan Daerah Bengkulu",
              "Bank Muamalat Indonesia",
              "Bank Pembangunan Daerah Sulut",
              "Bank BJB Syariah",
              "Bank Pembangunan Daerah Bali",
              "Bank Rakyat Indonesia (BRI)",
              "Bank Fama International",
              "Bank Pembangunan Daerah Aceh",
              "Bank SBI Indonesia",
              "Bank Rabobank International Indonesia",
              "Bank Pembangunan Daerah Aceh Syariah (UUS)",
              "Bank MNC Internasional",
              "Bank Jago (formerly Bank Artos Indonesia)",
              "Bank Mayapada International",
              "Hongkong and Shanghai Bank Corporation Syariah (HSBC UUS)",
              "Bank Hana",
              "Bank Pembangunan Daerah Papua",
              "Bank Mayora",
              "Bank Seabank Indonesia (formerly Bank Kesejahteraan Ekonomi)",
              "Bank of China (BOC)",
              "Bank Pembangunan Daerah Banten (formerly called Bank Pundi Indonesia)",
              "Bank Syariah Indonesia (BSI)",
              "Bank Central Asia Digital (BluBCA)",
              "Bank QNB Indonesia (formerly called Bank QNB Kesawan)",
              "Bank Pembangunan Daerah Jawa Tengah",
              "Bank of Tokyo Mitsubishi UFJ (MUFJ)",
              "Bank Woori Indonesia",
              "Bank Pembangunan Daerah Jambi",
              "Bank Victoria Internasional",
              "Bank Syariah Bukopin",
              "Bank Chinatrust Indonesia",
              "Bank Mandiri",
              "Bank Pembangunan Daerah Lampung",
              "BTPN Syariah (formerly called BTPN UUS and Bank Sahabat Purba Danarta)",
              "Bank Pembangunan Daerah Riau Dan Kepri",
              "Bank Victoria Syariah",
              "Bank Dinar Indonesia",
              "Bank of America Merill-Lynch",
              "Standard Charted Bank",
              "Mandiri Taspen Pos (formerly called Bank Sinar Harapan Bali)",
              "Bank Oke Indonesia (formerly called Bank Andara)",
              "Bank DKI Syariah (UUS)",
              "Bank Negara Indonesia (BNI)",
              "Bank Mestika Dharma",
              "Bank DBS Indonesia",
              "Bank Aladin Syariah (formerly Bank Maybank Syariah Indonesia)",
              "Bank Pembangunan Daerah Sulselbar",
              "Bank CIMB Niaga",
              "Bank Artha Graha International",
              "Bank ANZ Indonesia",
              "China Construction Bank Indonesia (formerly called Bank Antar Daerah and Bank Windu Kentjana International)",
              "Bank BJB",
              "Bank Danamon",
              "Bank Pembangunan Daerah Sumsel Dan Babel Syariah (UUS)",
              "Bank Panin Syariah",
              "Bank Permata",
              "Bank Pembangunan Daerah Maluku",
              "JP Morgan Chase Bank",
              "Bank Pembangunan Daerah Daerah Istimewa Yogyakarta Syariah (DIY UUS)",
              "Bank IBK Indonesia (formerly Bank Agris)",
              "Bank Bumi Arta",
              "Bank Resona Perdania",
              "Bank DKI",
              "Bank Commonwealth",
              "Bank Pembangunan Daerah Kalimantan Tengah",
              "Bank Pembangunan Daerah Kalimantan Timur Syariah (UUS)",
              "Bank Bisnis Internasional",
              "Bank Shinhan Indonesia (formerly called Bank Metro Express)",
              "Bank Tabungan Negara Syariah (BTN UUS)",
              "Bank Mizuho Indonesia",
              "Bank Pembangunan Daerah Sumsel Dan Babel",
              "Bank Pembangunan Daerah Sulselbar Syariah (UUS)",
              "Bank Pembangunan Daerah Sumut Syariah (UUS)",
              "Bank Permata Syariah (UUS)",
              "Bank BNP Paribas",
              "Bank Neo Commerce (formerly Bank Yudha Bhakti)",
              "Deutsche Bank",
              "Bank Pembangunan Daerah Sulawesi Tengah",
              "Bank Raya Indonesia (formerly called Bank BRI Agroniaga)",
              "Bank Pembangunan Daerah Nusa Tenggara Barat",
              "Bank Tabungan Negara (BTN)",
              "Bank CIMB Niaga Syariah (UUS)",
              "Bank Nationalnobu",
              "Bank JTrust Indonesia (formerly called Bank Mutiara)",
              "Bank Bukopin",
              "Bank Pembangunan Daerah Kalimantan Selatan",
              "Bank Pembangunan Daerah Daerah Istimewa Yogyakarta (DIY)",
              "Bank Pembangunan Daerah Kalimantan Barat Syariah (UUS)",
              "Allo Bank Indonesia (formerly Bank Harda Internasional)",
              "Bank Central Asia (BCA) Syariah",
              "Bank Sinarmas",
              "Bank Sahabat Sampoerna",
              "Bank Pembangunan Daerah Jawa Timur Syariah (UUS)",
              "Bank Sinarmas Syariah (UUS)",
              "Bank Maybank",
              "Bank Pembangunan Daerah Kalimantan Barat",
              "HSBC Indonesia (formerly called Bank Ekonomi Raharja)",
              "Bank ICBC Indonesia",
              "Bank Pembangunan Daerah Sulawesi Tenggara",
              "Bank Pembangunan Daerah Jawa Tengah Syariah (UUS)",
              "Bank Central Asia (BCA)",
              "Bank Pembangunan Daerah Sumut",
              "Bank Pembangunan Daerah Sumatera Barat",
              "Bank Ganesha",
              "Bank Pembangunan Daerah Sumatera Barat Syariah (UUS)",
              "Bank Pembangunan Daerah Jambi Syariah (UUS)",
              "Bank of India Indonesia"
            ],
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateBulgariaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Bulgaria Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bulgariaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "bulgariaGlobalNetwork": {
            "type": "object",
            "description": "Bulgaria Global Network account.",
            "$ref": "#/components/schemas/BulgariaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bulgariaGlobalNetwork"
        ]
      },
      "CreateBulgariaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Bulgaria Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bulgariaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "bulgariaGlobalNetwork": {
            "type": "object",
            "description": "Bulgaria Global Network account.",
            "$ref": "#/components/schemas/BulgariaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bulgariaGlobalNetwork"
        ]
      },
      "BulgariaGlobalNetworkAccount": {
        "type": "object",
        "title": "Bulgaria Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateIcelandGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Iceland Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "icelandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "icelandGlobalNetwork": {
            "type": "object",
            "description": "Iceland Global Network account.",
            "$ref": "#/components/schemas/IcelandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "icelandGlobalNetwork"
        ]
      },
      "CreateIcelandGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Iceland Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "icelandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "icelandGlobalNetwork": {
            "type": "object",
            "description": "Iceland Global Network account.",
            "$ref": "#/components/schemas/IcelandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "icelandGlobalNetwork"
        ]
      },
      "IcelandGlobalNetworkAccount": {
        "type": "object",
        "title": "Iceland Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateLuxembourgGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Luxembourg Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "luxembourgGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "luxembourgGlobalNetwork": {
            "type": "object",
            "description": "Luxembourg Global Network account.",
            "$ref": "#/components/schemas/LuxembourgGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "luxembourgGlobalNetwork"
        ]
      },
      "CreateLuxembourgGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Luxembourg Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "luxembourgGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "luxembourgGlobalNetwork": {
            "type": "object",
            "description": "Luxembourg Global Network account.",
            "$ref": "#/components/schemas/LuxembourgGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "luxembourgGlobalNetwork"
        ]
      },
      "LuxembourgGlobalNetworkAccount": {
        "type": "object",
        "title": "Luxembourg Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateMaltaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Malta Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "maltaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "maltaGlobalNetwork": {
            "type": "object",
            "description": "Malta Global Network account.",
            "$ref": "#/components/schemas/MaltaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "maltaGlobalNetwork"
        ]
      },
      "CreateMaltaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Malta Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "maltaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "maltaGlobalNetwork": {
            "type": "object",
            "description": "Malta Global Network account.",
            "$ref": "#/components/schemas/MaltaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "maltaGlobalNetwork"
        ]
      },
      "MaltaGlobalNetworkAccount": {
        "type": "object",
        "title": "Malta Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateLiechtensteinGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Liechtenstein Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "liechtensteinGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "liechtensteinGlobalNetwork": {
            "type": "object",
            "description": "Liechtenstein Global Network account.",
            "$ref": "#/components/schemas/LiechtensteinGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "liechtensteinGlobalNetwork"
        ]
      },
      "CreateLiechtensteinGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Liechtenstein Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "liechtensteinGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "liechtensteinGlobalNetwork": {
            "type": "object",
            "description": "Liechtenstein Global Network account.",
            "$ref": "#/components/schemas/LiechtensteinGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "liechtensteinGlobalNetwork"
        ]
      },
      "LiechtensteinGlobalNetworkAccount": {
        "type": "object",
        "title": "Liechtenstein Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "sepa"
            ],
            "description": "Transfer type of the account. `swift` for USD payments, `sepa` for EUR payments."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur"
            ],
            "description": "The currency for the account. `usd` for swift, `eur` for sepa."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSouthKoreaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "South Korea Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "southKoreaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "southKoreaGlobalNetwork": {
            "type": "object",
            "description": "South Korea Global Network account.",
            "$ref": "#/components/schemas/SouthKoreaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "southKoreaGlobalNetwork"
        ]
      },
      "CreateSouthKoreaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "South Korea Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "southKoreaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "southKoreaGlobalNetwork": {
            "type": "object",
            "description": "South Korea Global Network account.",
            "$ref": "#/components/schemas/SouthKoreaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "southKoreaGlobalNetwork"
        ]
      },
      "SouthKoreaGlobalNetworkAccount": {
        "type": "object",
        "title": "South Korea Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateTaiwanGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Taiwan Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "taiwanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "taiwanGlobalNetwork": {
            "type": "object",
            "description": "Taiwan Global Network account.",
            "$ref": "#/components/schemas/TaiwanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "taiwanGlobalNetwork"
        ]
      },
      "CreateTaiwanGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Taiwan Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "taiwanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "taiwanGlobalNetwork": {
            "type": "object",
            "description": "Taiwan Global Network account.",
            "$ref": "#/components/schemas/TaiwanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "taiwanGlobalNetwork"
        ]
      },
      "TaiwanGlobalNetworkAccount": {
        "type": "object",
        "title": "Taiwan Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateColombiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Colombia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "colombiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/ColombiaGlobalNetworkIndividualAccountHolder"
          },
          "colombiaGlobalNetwork": {
            "type": "object",
            "description": "Colombia Global Network account.",
            "$ref": "#/components/schemas/ColombiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "colombiaGlobalNetwork"
        ]
      },
      "CreateColombiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Colombia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "colombiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/ColombiaGlobalNetworkBusinessAccountHolder"
          },
          "colombiaGlobalNetwork": {
            "type": "object",
            "description": "Colombia Global Network account.",
            "$ref": "#/components/schemas/ColombiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "colombiaGlobalNetwork"
        ]
      },
      "ColombiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Colombia Global Network Account",
        "description": "Required fields depend on `transferType`:\n- `swift` (default): `currency` must be `usd`. Requires `bankName`, `accountNumber`, `swiftCode`.\n- `bank`: `currency` must be `cop`. Requires `bankName`, `accountNumber`, `accountType`. `accountHolder` must also include `idNumber` and `phone`.\n- `nequi`: `currency` must be `cop`. Requires `phone`.\n",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "bank",
              "nequi"
            ],
            "description": "Transfer type. Defaults to `swift` if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "cop"
            ],
            "description": "The currency for the account. Use `usd` for `swift`, `cop` for `bank` or `nequi`."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name. Required for `swift` and `bank` transfer types."
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number. Required for `swift` and `bank` transfer types."
          },
          "swiftCode": {
            "type": "string",
            "description": "SWIFT/BIC code. Required for `swift` transfer type."
          },
          "accountType": {
            "type": "string",
            "enum": [
              "Checking",
              "Savings"
            ],
            "description": "Account type. Required for `bank` transfer type."
          },
          "phone": {
            "type": "string",
            "description": "Phone number. Required for `nequi` transfer type."
          }
        },
        "required": [
          "currency",
          "transferType"
        ]
      },
      "CreateArgentinaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Argentina Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "argentinaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "argentinaGlobalNetwork": {
            "type": "object",
            "description": "Argentina Global Network account.",
            "$ref": "#/components/schemas/ArgentinaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "argentinaGlobalNetwork"
        ]
      },
      "CreateArgentinaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Argentina Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "argentinaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "argentinaGlobalNetwork": {
            "type": "object",
            "description": "Argentina Global Network account.",
            "$ref": "#/components/schemas/ArgentinaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "argentinaGlobalNetwork"
        ]
      },
      "ArgentinaGlobalNetworkAccount": {
        "type": "object",
        "title": "Argentina Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateKenyaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Kenya Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "kenyaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "kenyaGlobalNetwork": {
            "type": "object",
            "description": "Kenya Global Network account.",
            "$ref": "#/components/schemas/KenyaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "kenyaGlobalNetwork"
        ]
      },
      "CreateKenyaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Kenya Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "kenyaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "kenyaGlobalNetwork": {
            "type": "object",
            "description": "Kenya Global Network account.",
            "$ref": "#/components/schemas/KenyaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "kenyaGlobalNetwork"
        ]
      },
      "KenyaGlobalNetworkAccount": {
        "type": "object",
        "title": "Kenya Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateAustraliaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Australia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "australiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "australiaGlobalNetwork": {
            "type": "object",
            "description": "Australia Global Network account.",
            "$ref": "#/components/schemas/AustraliaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "australiaGlobalNetwork"
        ]
      },
      "CreateAustraliaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Australia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "australiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "australiaGlobalNetwork": {
            "type": "object",
            "description": "Australia Global Network account.",
            "$ref": "#/components/schemas/AustraliaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "australiaGlobalNetwork"
        ]
      },
      "AustraliaGlobalNetworkAccount": {
        "type": "object",
        "title": "Australia Global Network Account",
        "description": "Required fields: `currency`, `bankName`, `accountNumber`, plus `swiftCode` or `bsbCode` depending on transfer type.\n- `swift` (default): `currency` must be `usd`, `swiftCode` is required.\n- `bank` (local transfer within Australia): `currency` must be `aud`, `bsbCode` is required.\n",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "bank"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "aud"
            ],
            "description": "The currency for the account. `usd` for SWIFT, `aud` for local transfer."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code. Required for `swift` transfers."
          },
          "bsbCode": {
            "type": "string",
            "pattern": "^\\d{6}$",
            "description": "Bank State Branch (BSB) code. Exactly 6 digits, no separators. Required for `bank` (local) transfers."
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber"
        ]
      },
      "CreateNewZealandGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "New Zealand Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "newZealandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "newZealandGlobalNetwork": {
            "type": "object",
            "description": "New Zealand Global Network account.",
            "$ref": "#/components/schemas/NewZealandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "newZealandGlobalNetwork"
        ]
      },
      "CreateNewZealandGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "New Zealand Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "newZealandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "newZealandGlobalNetwork": {
            "type": "object",
            "description": "New Zealand Global Network account.",
            "$ref": "#/components/schemas/NewZealandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "newZealandGlobalNetwork"
        ]
      },
      "NewZealandGlobalNetworkAccount": {
        "type": "object",
        "title": "New Zealand Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreatePanamaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Panama Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "panamaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "panamaGlobalNetwork": {
            "type": "object",
            "description": "Panama Global Network account.",
            "$ref": "#/components/schemas/PanamaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "panamaGlobalNetwork"
        ]
      },
      "CreatePanamaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Panama Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "panamaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "panamaGlobalNetwork": {
            "type": "object",
            "description": "Panama Global Network account.",
            "$ref": "#/components/schemas/PanamaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "panamaGlobalNetwork"
        ]
      },
      "PanamaGlobalNetworkAccount": {
        "type": "object",
        "title": "Panama Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateParaguayGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Paraguay Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "paraguayGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "paraguayGlobalNetwork": {
            "type": "object",
            "description": "Paraguay Global Network account.",
            "$ref": "#/components/schemas/ParaguayGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "paraguayGlobalNetwork"
        ]
      },
      "CreateParaguayGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Paraguay Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "paraguayGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "paraguayGlobalNetwork": {
            "type": "object",
            "description": "Paraguay Global Network account.",
            "$ref": "#/components/schemas/ParaguayGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "paraguayGlobalNetwork"
        ]
      },
      "ParaguayGlobalNetworkAccount": {
        "type": "object",
        "title": "Paraguay Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateMacauGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Macau Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "macauGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "macauGlobalNetwork": {
            "type": "object",
            "description": "Macau Global Network account.",
            "$ref": "#/components/schemas/MacauGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "macauGlobalNetwork"
        ]
      },
      "CreateMacauGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Macau Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "macauGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "macauGlobalNetwork": {
            "type": "object",
            "description": "Macau Global Network account.",
            "$ref": "#/components/schemas/MacauGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "macauGlobalNetwork"
        ]
      },
      "MacauGlobalNetworkAccount": {
        "type": "object",
        "title": "Macau Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateUruguayGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Uruguay Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "uruguayGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "uruguayGlobalNetwork": {
            "type": "object",
            "description": "Uruguay Global Network account.",
            "$ref": "#/components/schemas/UruguayGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "uruguayGlobalNetwork"
        ]
      },
      "CreateUruguayGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Uruguay Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "uruguayGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "uruguayGlobalNetwork": {
            "type": "object",
            "description": "Uruguay Global Network account.",
            "$ref": "#/components/schemas/UruguayGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "uruguayGlobalNetwork"
        ]
      },
      "UruguayGlobalNetworkAccount": {
        "type": "object",
        "title": "Uruguay Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateGuatemalaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Guatemala Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "guatemalaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "guatemalaGlobalNetwork": {
            "type": "object",
            "description": "Guatemala Global Network account.",
            "$ref": "#/components/schemas/GuatemalaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "guatemalaGlobalNetwork"
        ]
      },
      "CreateGuatemalaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Guatemala Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "guatemalaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "guatemalaGlobalNetwork": {
            "type": "object",
            "description": "Guatemala Global Network account.",
            "$ref": "#/components/schemas/GuatemalaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "guatemalaGlobalNetwork"
        ]
      },
      "GuatemalaGlobalNetworkAccount": {
        "type": "object",
        "title": "Guatemala Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateBritishVirginIslandsGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "British Virgin Islands Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "britishVirginIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "britishVirginIslandsGlobalNetwork": {
            "type": "object",
            "description": "British Virgin Islands Global Network account.",
            "$ref": "#/components/schemas/BritishVirginIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "britishVirginIslandsGlobalNetwork"
        ]
      },
      "CreateBritishVirginIslandsGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "British Virgin Islands Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "britishVirginIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "britishVirginIslandsGlobalNetwork": {
            "type": "object",
            "description": "British Virgin Islands Global Network account.",
            "$ref": "#/components/schemas/BritishVirginIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "britishVirginIslandsGlobalNetwork"
        ]
      },
      "BritishVirginIslandsGlobalNetworkAccount": {
        "type": "object",
        "title": "British Virgin Islands Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateVietnamGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Vietnam Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "vietnamGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "vietnamGlobalNetwork": {
            "type": "object",
            "description": "Vietnam Global Network account.",
            "$ref": "#/components/schemas/VietnamGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "vietnamGlobalNetwork"
        ]
      },
      "CreateVietnamGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Vietnam Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "vietnamGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "vietnamGlobalNetwork": {
            "type": "object",
            "description": "Vietnam Global Network account.",
            "$ref": "#/components/schemas/VietnamGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "vietnamGlobalNetwork"
        ]
      },
      "VietnamGlobalNetworkAccount": {
        "type": "object",
        "title": "Vietnam Global Network Account",
        "description": "Required fields: `currency`, `bankName`, `accountNumber`, `swiftCode`.\n- `swift` (default): `currency` must be `usd`.\n- `bank` (local transfer within Vietnam): `currency` must be `vnd`.\n",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "bank"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "vnd"
            ],
            "description": "The currency for the account. `usd` for SWIFT, `vnd` for local transfer."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateGeorgiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Georgia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "georgiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "georgiaGlobalNetwork": {
            "type": "object",
            "description": "Georgia Global Network account.",
            "$ref": "#/components/schemas/GeorgiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "georgiaGlobalNetwork"
        ]
      },
      "CreateGeorgiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Georgia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "georgiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "georgiaGlobalNetwork": {
            "type": "object",
            "description": "Georgia Global Network account.",
            "$ref": "#/components/schemas/GeorgiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "georgiaGlobalNetwork"
        ]
      },
      "GeorgiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Georgia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateIsraelGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Israel Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "israelGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "israelGlobalNetwork": {
            "type": "object",
            "description": "Israel Global Network account.",
            "$ref": "#/components/schemas/IsraelGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "israelGlobalNetwork"
        ]
      },
      "CreateIsraelGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Israel Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "israelGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "israelGlobalNetwork": {
            "type": "object",
            "description": "Israel Global Network account.",
            "$ref": "#/components/schemas/IsraelGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "israelGlobalNetwork"
        ]
      },
      "IsraelGlobalNetworkAccount": {
        "type": "object",
        "title": "Israel Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateTurkeyGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Turkey Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "turkeyGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "turkeyGlobalNetwork": {
            "type": "object",
            "description": "Turkey Global Network account.",
            "$ref": "#/components/schemas/TurkeyGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "turkeyGlobalNetwork"
        ]
      },
      "CreateTurkeyGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Turkey Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "turkeyGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "turkeyGlobalNetwork": {
            "type": "object",
            "description": "Turkey Global Network account.",
            "$ref": "#/components/schemas/TurkeyGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "turkeyGlobalNetwork"
        ]
      },
      "CreateCanadaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Canada Global Network Individual Account (USD SWIFT)",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "canadaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "canadaGlobalNetwork": {
            "type": "object",
            "description": "Canada Global Network (USD SWIFT) account.",
            "$ref": "#/components/schemas/CanadaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "canadaGlobalNetwork"
        ]
      },
      "CreateCanadaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Canada Global Network Business Account (USD SWIFT)",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "canadaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "canadaGlobalNetwork": {
            "type": "object",
            "description": "Canada Global Network (USD SWIFT) account.",
            "$ref": "#/components/schemas/CanadaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "canadaGlobalNetwork"
        ]
      },
      "TurkeyGlobalNetworkAccount": {
        "type": "object",
        "title": "Turkey Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CanadaGlobalNetworkAccount": {
        "type": "object",
        "title": "Canada Global Network Account",
        "description": "Required fields: `currency`, `bankName`, `accountNumber`, `swiftCode`.\n- `swift` (default): `currency` must be `usd`.\n- `bank` (local transfer within Canada): `currency` must be `cad`, `bankCode` and `transitNumber` are also required.\n",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "bank"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "cad"
            ],
            "description": "The currency for the account. `usd` for SWIFT, `cad` for local transfer."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "SWIFT/BIC code"
          },
          "bankCode": {
            "type": "string",
            "pattern": "^\\d{3}$",
            "description": "Institution number. Exactly 3 digits. Required for `bank` (local) transfers."
          },
          "transitNumber": {
            "type": "string",
            "pattern": "^\\d{5}$",
            "description": "Transit number. Exactly 5 digits. Required for `bank` (local) transfers."
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateUnitedArabEmiratesGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "United Arab Emirates Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "unitedArabEmiratesGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "unitedArabEmiratesGlobalNetwork": {
            "type": "object",
            "description": "United Arab Emirates Global Network account.",
            "$ref": "#/components/schemas/UnitedArabEmiratesGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "unitedArabEmiratesGlobalNetwork"
        ]
      },
      "CreateUnitedArabEmiratesGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "United Arab Emirates Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "unitedArabEmiratesGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "unitedArabEmiratesGlobalNetwork": {
            "type": "object",
            "description": "United Arab Emirates Global Network account.",
            "$ref": "#/components/schemas/UnitedArabEmiratesGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "unitedArabEmiratesGlobalNetwork"
        ]
      },
      "UnitedArabEmiratesGlobalNetworkAccount": {
        "type": "object",
        "title": "United Arab Emirates Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "bank"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "aed"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSaudiArabiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Saudi Arabia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saudiArabiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "saudiArabiaGlobalNetwork": {
            "type": "object",
            "description": "Saudi Arabia Global Network account.",
            "$ref": "#/components/schemas/SaudiArabiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saudiArabiaGlobalNetwork"
        ]
      },
      "CreateSaudiArabiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Saudi Arabia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saudiArabiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "saudiArabiaGlobalNetwork": {
            "type": "object",
            "description": "Saudi Arabia Global Network account.",
            "$ref": "#/components/schemas/SaudiArabiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saudiArabiaGlobalNetwork"
        ]
      },
      "SaudiArabiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Saudi Arabia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateBahrainGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Bahrain Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bahrainGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "bahrainGlobalNetwork": {
            "type": "object",
            "description": "Bahrain Global Network account.",
            "$ref": "#/components/schemas/BahrainGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bahrainGlobalNetwork"
        ]
      },
      "CreateBahrainGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Bahrain Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bahrainGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "bahrainGlobalNetwork": {
            "type": "object",
            "description": "Bahrain Global Network account.",
            "$ref": "#/components/schemas/BahrainGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bahrainGlobalNetwork"
        ]
      },
      "BahrainGlobalNetworkAccount": {
        "type": "object",
        "title": "Bahrain Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateMalaysiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Malaysia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "malaysiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "malaysiaGlobalNetwork": {
            "type": "object",
            "description": "Malaysia Global Network account.",
            "$ref": "#/components/schemas/MalaysiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "malaysiaGlobalNetwork"
        ]
      },
      "CreateMalaysiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Malaysia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "malaysiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "malaysiaGlobalNetwork": {
            "type": "object",
            "description": "Malaysia Global Network account.",
            "$ref": "#/components/schemas/MalaysiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "malaysiaGlobalNetwork"
        ]
      },
      "MalaysiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Malaysia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateOmanGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Oman Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "omanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "omanGlobalNetwork": {
            "type": "object",
            "description": "Oman Global Network account.",
            "$ref": "#/components/schemas/OmanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "omanGlobalNetwork"
        ]
      },
      "CreateOmanGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Oman Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "omanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "omanGlobalNetwork": {
            "type": "object",
            "description": "Oman Global Network account.",
            "$ref": "#/components/schemas/OmanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "omanGlobalNetwork"
        ]
      },
      "OmanGlobalNetworkAccount": {
        "type": "object",
        "title": "Oman Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreatePeruGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Peru Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "peruGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "peruGlobalNetwork": {
            "type": "object",
            "description": "Peru Global Network account.",
            "$ref": "#/components/schemas/PeruGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "peruGlobalNetwork"
        ]
      },
      "CreatePeruGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Peru Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "peruGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "peruGlobalNetwork": {
            "type": "object",
            "description": "Peru Global Network account.",
            "$ref": "#/components/schemas/PeruGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "peruGlobalNetwork"
        ]
      },
      "PeruGlobalNetworkAccount": {
        "type": "object",
        "title": "Peru Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateAlgeriaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Algeria Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "algeriaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "algeriaGlobalNetwork": {
            "type": "object",
            "description": "Algeria Global Network account.",
            "$ref": "#/components/schemas/AlgeriaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "algeriaGlobalNetwork"
        ]
      },
      "CreateAlgeriaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Algeria Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "algeriaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "algeriaGlobalNetwork": {
            "type": "object",
            "description": "Algeria Global Network account.",
            "$ref": "#/components/schemas/AlgeriaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "algeriaGlobalNetwork"
        ]
      },
      "AlgeriaGlobalNetworkAccount": {
        "type": "object",
        "title": "Algeria Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateAmericanSamoaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "American Samoa Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "americanSamoaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "americanSamoaGlobalNetwork": {
            "type": "object",
            "description": "American Samoa Global Network account.",
            "$ref": "#/components/schemas/AmericanSamoaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "americanSamoaGlobalNetwork"
        ]
      },
      "CreateAmericanSamoaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "American Samoa Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "americanSamoaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "americanSamoaGlobalNetwork": {
            "type": "object",
            "description": "American Samoa Global Network account.",
            "$ref": "#/components/schemas/AmericanSamoaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "americanSamoaGlobalNetwork"
        ]
      },
      "AmericanSamoaGlobalNetworkAccount": {
        "type": "object",
        "title": "American Samoa Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateAngolaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Angola Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "angolaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "angolaGlobalNetwork": {
            "type": "object",
            "description": "Angola Global Network account.",
            "$ref": "#/components/schemas/AngolaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "angolaGlobalNetwork"
        ]
      },
      "CreateAngolaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Angola Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "angolaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "angolaGlobalNetwork": {
            "type": "object",
            "description": "Angola Global Network account.",
            "$ref": "#/components/schemas/AngolaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "angolaGlobalNetwork"
        ]
      },
      "AngolaGlobalNetworkAccount": {
        "type": "object",
        "title": "Angola Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateAnguillaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Anguilla Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "anguillaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "anguillaGlobalNetwork": {
            "type": "object",
            "description": "Anguilla Global Network account.",
            "$ref": "#/components/schemas/AnguillaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "anguillaGlobalNetwork"
        ]
      },
      "CreateAnguillaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Anguilla Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "anguillaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "anguillaGlobalNetwork": {
            "type": "object",
            "description": "Anguilla Global Network account.",
            "$ref": "#/components/schemas/AnguillaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "anguillaGlobalNetwork"
        ]
      },
      "AnguillaGlobalNetworkAccount": {
        "type": "object",
        "title": "Anguilla Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateAntiguaAndBarbudaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Antigua And Barbuda Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "antiguaAndBarbudaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "antiguaAndBarbudaGlobalNetwork": {
            "type": "object",
            "description": "Antigua And Barbuda Global Network account.",
            "$ref": "#/components/schemas/AntiguaAndBarbudaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "antiguaAndBarbudaGlobalNetwork"
        ]
      },
      "CreateAntiguaAndBarbudaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Antigua And Barbuda Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "antiguaAndBarbudaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "antiguaAndBarbudaGlobalNetwork": {
            "type": "object",
            "description": "Antigua And Barbuda Global Network account.",
            "$ref": "#/components/schemas/AntiguaAndBarbudaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "antiguaAndBarbudaGlobalNetwork"
        ]
      },
      "AntiguaAndBarbudaGlobalNetworkAccount": {
        "type": "object",
        "title": "Antigua And Barbuda Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateArmeniaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Armenia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "armeniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "armeniaGlobalNetwork": {
            "type": "object",
            "description": "Armenia Global Network account.",
            "$ref": "#/components/schemas/ArmeniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "armeniaGlobalNetwork"
        ]
      },
      "CreateArmeniaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Armenia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "armeniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "armeniaGlobalNetwork": {
            "type": "object",
            "description": "Armenia Global Network account.",
            "$ref": "#/components/schemas/ArmeniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "armeniaGlobalNetwork"
        ]
      },
      "ArmeniaGlobalNetworkAccount": {
        "type": "object",
        "title": "Armenia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateArubaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Aruba Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "arubaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "arubaGlobalNetwork": {
            "type": "object",
            "description": "Aruba Global Network account.",
            "$ref": "#/components/schemas/ArubaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "arubaGlobalNetwork"
        ]
      },
      "CreateArubaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Aruba Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "arubaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "arubaGlobalNetwork": {
            "type": "object",
            "description": "Aruba Global Network account.",
            "$ref": "#/components/schemas/ArubaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "arubaGlobalNetwork"
        ]
      },
      "ArubaGlobalNetworkAccount": {
        "type": "object",
        "title": "Aruba Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateAzerbaijanGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Azerbaijan Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "azerbaijanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "azerbaijanGlobalNetwork": {
            "type": "object",
            "description": "Azerbaijan Global Network account.",
            "$ref": "#/components/schemas/AzerbaijanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "azerbaijanGlobalNetwork"
        ]
      },
      "CreateAzerbaijanGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Azerbaijan Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "azerbaijanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "azerbaijanGlobalNetwork": {
            "type": "object",
            "description": "Azerbaijan Global Network account.",
            "$ref": "#/components/schemas/AzerbaijanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "azerbaijanGlobalNetwork"
        ]
      },
      "AzerbaijanGlobalNetworkAccount": {
        "type": "object",
        "title": "Azerbaijan Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateBahamasGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Bahamas Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bahamasGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "bahamasGlobalNetwork": {
            "type": "object",
            "description": "Bahamas Global Network account.",
            "$ref": "#/components/schemas/BahamasGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bahamasGlobalNetwork"
        ]
      },
      "CreateBahamasGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Bahamas Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bahamasGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "bahamasGlobalNetwork": {
            "type": "object",
            "description": "Bahamas Global Network account.",
            "$ref": "#/components/schemas/BahamasGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bahamasGlobalNetwork"
        ]
      },
      "BahamasGlobalNetworkAccount": {
        "type": "object",
        "title": "Bahamas Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateBangladeshGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Bangladesh Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bangladeshGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "bangladeshGlobalNetwork": {
            "type": "object",
            "description": "Bangladesh Global Network account.",
            "$ref": "#/components/schemas/BangladeshGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bangladeshGlobalNetwork"
        ]
      },
      "CreateBangladeshGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Bangladesh Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bangladeshGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "bangladeshGlobalNetwork": {
            "type": "object",
            "description": "Bangladesh Global Network account.",
            "$ref": "#/components/schemas/BangladeshGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bangladeshGlobalNetwork"
        ]
      },
      "BangladeshGlobalNetworkAccount": {
        "type": "object",
        "title": "Bangladesh Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateBarbadosGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Barbados Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "barbadosGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "barbadosGlobalNetwork": {
            "type": "object",
            "description": "Barbados Global Network account.",
            "$ref": "#/components/schemas/BarbadosGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "barbadosGlobalNetwork"
        ]
      },
      "CreateBarbadosGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Barbados Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "barbadosGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "barbadosGlobalNetwork": {
            "type": "object",
            "description": "Barbados Global Network account.",
            "$ref": "#/components/schemas/BarbadosGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "barbadosGlobalNetwork"
        ]
      },
      "BarbadosGlobalNetworkAccount": {
        "type": "object",
        "title": "Barbados Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateBelizeGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Belize Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "belizeGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "belizeGlobalNetwork": {
            "type": "object",
            "description": "Belize Global Network account.",
            "$ref": "#/components/schemas/BelizeGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "belizeGlobalNetwork"
        ]
      },
      "CreateBelizeGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Belize Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "belizeGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "belizeGlobalNetwork": {
            "type": "object",
            "description": "Belize Global Network account.",
            "$ref": "#/components/schemas/BelizeGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "belizeGlobalNetwork"
        ]
      },
      "BelizeGlobalNetworkAccount": {
        "type": "object",
        "title": "Belize Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateBeninGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Benin Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "beninGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "beninGlobalNetwork": {
            "type": "object",
            "description": "Benin Global Network account.",
            "$ref": "#/components/schemas/BeninGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "beninGlobalNetwork"
        ]
      },
      "CreateBeninGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Benin Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "beninGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "beninGlobalNetwork": {
            "type": "object",
            "description": "Benin Global Network account.",
            "$ref": "#/components/schemas/BeninGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "beninGlobalNetwork"
        ]
      },
      "BeninGlobalNetworkAccount": {
        "type": "object",
        "title": "Benin Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateBermudaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Bermuda Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bermudaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "bermudaGlobalNetwork": {
            "type": "object",
            "description": "Bermuda Global Network account.",
            "$ref": "#/components/schemas/BermudaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bermudaGlobalNetwork"
        ]
      },
      "CreateBermudaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Bermuda Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bermudaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "bermudaGlobalNetwork": {
            "type": "object",
            "description": "Bermuda Global Network account.",
            "$ref": "#/components/schemas/BermudaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bermudaGlobalNetwork"
        ]
      },
      "BermudaGlobalNetworkAccount": {
        "type": "object",
        "title": "Bermuda Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateBhutanGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Bhutan Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bhutanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "bhutanGlobalNetwork": {
            "type": "object",
            "description": "Bhutan Global Network account.",
            "$ref": "#/components/schemas/BhutanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bhutanGlobalNetwork"
        ]
      },
      "CreateBhutanGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Bhutan Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bhutanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "bhutanGlobalNetwork": {
            "type": "object",
            "description": "Bhutan Global Network account.",
            "$ref": "#/components/schemas/BhutanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bhutanGlobalNetwork"
        ]
      },
      "BhutanGlobalNetworkAccount": {
        "type": "object",
        "title": "Bhutan Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateBoliviaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Bolivia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "boliviaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "boliviaGlobalNetwork": {
            "type": "object",
            "description": "Bolivia Global Network account.",
            "$ref": "#/components/schemas/BoliviaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "boliviaGlobalNetwork"
        ]
      },
      "CreateBoliviaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Bolivia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "boliviaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "boliviaGlobalNetwork": {
            "type": "object",
            "description": "Bolivia Global Network account.",
            "$ref": "#/components/schemas/BoliviaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "boliviaGlobalNetwork"
        ]
      },
      "BoliviaGlobalNetworkAccount": {
        "type": "object",
        "title": "Bolivia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateBotswanaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Botswana Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "botswanaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "botswanaGlobalNetwork": {
            "type": "object",
            "description": "Botswana Global Network account.",
            "$ref": "#/components/schemas/BotswanaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "botswanaGlobalNetwork"
        ]
      },
      "CreateBotswanaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Botswana Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "botswanaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "botswanaGlobalNetwork": {
            "type": "object",
            "description": "Botswana Global Network account.",
            "$ref": "#/components/schemas/BotswanaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "botswanaGlobalNetwork"
        ]
      },
      "BotswanaGlobalNetworkAccount": {
        "type": "object",
        "title": "Botswana Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateBritishIndianOceanTerritoryGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "British Indian Ocean Territory Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "britishIndianOceanTerritoryGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "britishIndianOceanTerritoryGlobalNetwork": {
            "type": "object",
            "description": "British Indian Ocean Territory Global Network account.",
            "$ref": "#/components/schemas/BritishIndianOceanTerritoryGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "britishIndianOceanTerritoryGlobalNetwork"
        ]
      },
      "CreateBritishIndianOceanTerritoryGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "British Indian Ocean Territory Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "britishIndianOceanTerritoryGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "britishIndianOceanTerritoryGlobalNetwork": {
            "type": "object",
            "description": "British Indian Ocean Territory Global Network account.",
            "$ref": "#/components/schemas/BritishIndianOceanTerritoryGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "britishIndianOceanTerritoryGlobalNetwork"
        ]
      },
      "BritishIndianOceanTerritoryGlobalNetworkAccount": {
        "type": "object",
        "title": "British Indian Ocean Territory Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateBruneiGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Brunei Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bruneiGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "bruneiGlobalNetwork": {
            "type": "object",
            "description": "Brunei Global Network account.",
            "$ref": "#/components/schemas/BruneiGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bruneiGlobalNetwork"
        ]
      },
      "CreateBruneiGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Brunei Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "bruneiGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "bruneiGlobalNetwork": {
            "type": "object",
            "description": "Brunei Global Network account.",
            "$ref": "#/components/schemas/BruneiGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "bruneiGlobalNetwork"
        ]
      },
      "BruneiGlobalNetworkAccount": {
        "type": "object",
        "title": "Brunei Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateCaboVerdeGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Cabo Verde Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "caboVerdeGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "caboVerdeGlobalNetwork": {
            "type": "object",
            "description": "Cabo Verde Global Network account.",
            "$ref": "#/components/schemas/CaboVerdeGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "caboVerdeGlobalNetwork"
        ]
      },
      "CreateCaboVerdeGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Cabo Verde Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "caboVerdeGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "caboVerdeGlobalNetwork": {
            "type": "object",
            "description": "Cabo Verde Global Network account.",
            "$ref": "#/components/schemas/CaboVerdeGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "caboVerdeGlobalNetwork"
        ]
      },
      "CaboVerdeGlobalNetworkAccount": {
        "type": "object",
        "title": "Cabo Verde Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateCaymanIslandsGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Cayman Islands Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "caymanIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "caymanIslandsGlobalNetwork": {
            "type": "object",
            "description": "Cayman Islands Global Network account.",
            "$ref": "#/components/schemas/CaymanIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "caymanIslandsGlobalNetwork"
        ]
      },
      "CreateCaymanIslandsGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Cayman Islands Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "caymanIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "caymanIslandsGlobalNetwork": {
            "type": "object",
            "description": "Cayman Islands Global Network account.",
            "$ref": "#/components/schemas/CaymanIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "caymanIslandsGlobalNetwork"
        ]
      },
      "CaymanIslandsGlobalNetworkAccount": {
        "type": "object",
        "title": "Cayman Islands Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateChristmasIslandGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Christmas Island Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "christmasIslandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "christmasIslandGlobalNetwork": {
            "type": "object",
            "description": "Christmas Island Global Network account.",
            "$ref": "#/components/schemas/ChristmasIslandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "christmasIslandGlobalNetwork"
        ]
      },
      "CreateChristmasIslandGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Christmas Island Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "christmasIslandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "christmasIslandGlobalNetwork": {
            "type": "object",
            "description": "Christmas Island Global Network account.",
            "$ref": "#/components/schemas/ChristmasIslandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "christmasIslandGlobalNetwork"
        ]
      },
      "ChristmasIslandGlobalNetworkAccount": {
        "type": "object",
        "title": "Christmas Island Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateCocosIslandsGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Cocos Islands Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "cocosIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "cocosIslandsGlobalNetwork": {
            "type": "object",
            "description": "Cocos Islands Global Network account.",
            "$ref": "#/components/schemas/CocosIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "cocosIslandsGlobalNetwork"
        ]
      },
      "CreateCocosIslandsGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Cocos Islands Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "cocosIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "cocosIslandsGlobalNetwork": {
            "type": "object",
            "description": "Cocos Islands Global Network account.",
            "$ref": "#/components/schemas/CocosIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "cocosIslandsGlobalNetwork"
        ]
      },
      "CocosIslandsGlobalNetworkAccount": {
        "type": "object",
        "title": "Cocos Islands Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateComorosGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Comoros Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "comorosGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "comorosGlobalNetwork": {
            "type": "object",
            "description": "Comoros Global Network account.",
            "$ref": "#/components/schemas/ComorosGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "comorosGlobalNetwork"
        ]
      },
      "CreateComorosGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Comoros Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "comorosGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "comorosGlobalNetwork": {
            "type": "object",
            "description": "Comoros Global Network account.",
            "$ref": "#/components/schemas/ComorosGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "comorosGlobalNetwork"
        ]
      },
      "ComorosGlobalNetworkAccount": {
        "type": "object",
        "title": "Comoros Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateCookIslandsGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Cook Islands Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "cookIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "cookIslandsGlobalNetwork": {
            "type": "object",
            "description": "Cook Islands Global Network account.",
            "$ref": "#/components/schemas/CookIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "cookIslandsGlobalNetwork"
        ]
      },
      "CreateCookIslandsGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Cook Islands Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "cookIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "cookIslandsGlobalNetwork": {
            "type": "object",
            "description": "Cook Islands Global Network account.",
            "$ref": "#/components/schemas/CookIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "cookIslandsGlobalNetwork"
        ]
      },
      "CookIslandsGlobalNetworkAccount": {
        "type": "object",
        "title": "Cook Islands Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateCostaRicaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Costa Rica Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "costaRicaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "costaRicaGlobalNetwork": {
            "type": "object",
            "description": "Costa Rica Global Network account.",
            "$ref": "#/components/schemas/CostaRicaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "costaRicaGlobalNetwork"
        ]
      },
      "CreateCostaRicaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Costa Rica Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "costaRicaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "costaRicaGlobalNetwork": {
            "type": "object",
            "description": "Costa Rica Global Network account.",
            "$ref": "#/components/schemas/CostaRicaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "costaRicaGlobalNetwork"
        ]
      },
      "CostaRicaGlobalNetworkAccount": {
        "type": "object",
        "title": "Costa Rica Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateCoteDIvoireGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Cote D Ivoire Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "coteDIvoireGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "coteDIvoireGlobalNetwork": {
            "type": "object",
            "description": "Cote D Ivoire Global Network account.",
            "$ref": "#/components/schemas/CoteDIvoireGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "coteDIvoireGlobalNetwork"
        ]
      },
      "CreateCoteDIvoireGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Cote D Ivoire Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "coteDIvoireGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "coteDIvoireGlobalNetwork": {
            "type": "object",
            "description": "Cote D Ivoire Global Network account.",
            "$ref": "#/components/schemas/CoteDIvoireGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "coteDIvoireGlobalNetwork"
        ]
      },
      "CoteDIvoireGlobalNetworkAccount": {
        "type": "object",
        "title": "Cote D Ivoire Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateCuracaoGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Curacao Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "curacaoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "curacaoGlobalNetwork": {
            "type": "object",
            "description": "Curacao Global Network account.",
            "$ref": "#/components/schemas/CuracaoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "curacaoGlobalNetwork"
        ]
      },
      "CreateCuracaoGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Curacao Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "curacaoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "curacaoGlobalNetwork": {
            "type": "object",
            "description": "Curacao Global Network account.",
            "$ref": "#/components/schemas/CuracaoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "curacaoGlobalNetwork"
        ]
      },
      "CuracaoGlobalNetworkAccount": {
        "type": "object",
        "title": "Curacao Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateDjiboutiGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Djibouti Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "djiboutiGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "djiboutiGlobalNetwork": {
            "type": "object",
            "description": "Djibouti Global Network account.",
            "$ref": "#/components/schemas/DjiboutiGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "djiboutiGlobalNetwork"
        ]
      },
      "CreateDjiboutiGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Djibouti Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "djiboutiGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "djiboutiGlobalNetwork": {
            "type": "object",
            "description": "Djibouti Global Network account.",
            "$ref": "#/components/schemas/DjiboutiGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "djiboutiGlobalNetwork"
        ]
      },
      "DjiboutiGlobalNetworkAccount": {
        "type": "object",
        "title": "Djibouti Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateDominicaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Dominica Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "dominicaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "dominicaGlobalNetwork": {
            "type": "object",
            "description": "Dominica Global Network account.",
            "$ref": "#/components/schemas/DominicaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "dominicaGlobalNetwork"
        ]
      },
      "CreateDominicaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Dominica Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "dominicaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "dominicaGlobalNetwork": {
            "type": "object",
            "description": "Dominica Global Network account.",
            "$ref": "#/components/schemas/DominicaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "dominicaGlobalNetwork"
        ]
      },
      "DominicaGlobalNetworkAccount": {
        "type": "object",
        "title": "Dominica Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateDominicanRepublicGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Dominican Republic Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "dominicanRepublicGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "dominicanRepublicGlobalNetwork": {
            "type": "object",
            "description": "Dominican Republic Global Network account.",
            "$ref": "#/components/schemas/DominicanRepublicGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "dominicanRepublicGlobalNetwork"
        ]
      },
      "CreateDominicanRepublicGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Dominican Republic Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "dominicanRepublicGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "dominicanRepublicGlobalNetwork": {
            "type": "object",
            "description": "Dominican Republic Global Network account.",
            "$ref": "#/components/schemas/DominicanRepublicGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "dominicanRepublicGlobalNetwork"
        ]
      },
      "DominicanRepublicGlobalNetworkAccount": {
        "type": "object",
        "title": "Dominican Republic Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateEcuadorGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Ecuador Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "ecuadorGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "ecuadorGlobalNetwork": {
            "type": "object",
            "description": "Ecuador Global Network account.",
            "$ref": "#/components/schemas/EcuadorGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "ecuadorGlobalNetwork"
        ]
      },
      "CreateEcuadorGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Ecuador Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "ecuadorGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "ecuadorGlobalNetwork": {
            "type": "object",
            "description": "Ecuador Global Network account.",
            "$ref": "#/components/schemas/EcuadorGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "ecuadorGlobalNetwork"
        ]
      },
      "EcuadorGlobalNetworkAccount": {
        "type": "object",
        "title": "Ecuador Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateEgyptGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Egypt Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "egyptGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "egyptGlobalNetwork": {
            "type": "object",
            "description": "Egypt Global Network account.",
            "$ref": "#/components/schemas/EgyptGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "egyptGlobalNetwork"
        ]
      },
      "CreateEgyptGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Egypt Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "egyptGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "egyptGlobalNetwork": {
            "type": "object",
            "description": "Egypt Global Network account.",
            "$ref": "#/components/schemas/EgyptGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "egyptGlobalNetwork"
        ]
      },
      "EgyptGlobalNetworkAccount": {
        "type": "object",
        "title": "Egypt Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateElSalvadorGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "El Salvador Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "elSalvadorGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "elSalvadorGlobalNetwork": {
            "type": "object",
            "description": "El Salvador Global Network account.",
            "$ref": "#/components/schemas/ElSalvadorGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "elSalvadorGlobalNetwork"
        ]
      },
      "CreateElSalvadorGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "El Salvador Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "elSalvadorGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "elSalvadorGlobalNetwork": {
            "type": "object",
            "description": "El Salvador Global Network account.",
            "$ref": "#/components/schemas/ElSalvadorGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "elSalvadorGlobalNetwork"
        ]
      },
      "ElSalvadorGlobalNetworkAccount": {
        "type": "object",
        "title": "El Salvador Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateEquatorialGuineaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Equatorial Guinea Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "equatorialGuineaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "equatorialGuineaGlobalNetwork": {
            "type": "object",
            "description": "Equatorial Guinea Global Network account.",
            "$ref": "#/components/schemas/EquatorialGuineaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "equatorialGuineaGlobalNetwork"
        ]
      },
      "CreateEquatorialGuineaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Equatorial Guinea Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "equatorialGuineaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "equatorialGuineaGlobalNetwork": {
            "type": "object",
            "description": "Equatorial Guinea Global Network account.",
            "$ref": "#/components/schemas/EquatorialGuineaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "equatorialGuineaGlobalNetwork"
        ]
      },
      "EquatorialGuineaGlobalNetworkAccount": {
        "type": "object",
        "title": "Equatorial Guinea Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateEswatiniGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Eswatini Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "eswatiniGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "eswatiniGlobalNetwork": {
            "type": "object",
            "description": "Eswatini Global Network account.",
            "$ref": "#/components/schemas/EswatiniGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "eswatiniGlobalNetwork"
        ]
      },
      "CreateEswatiniGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Eswatini Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "eswatiniGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "eswatiniGlobalNetwork": {
            "type": "object",
            "description": "Eswatini Global Network account.",
            "$ref": "#/components/schemas/EswatiniGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "eswatiniGlobalNetwork"
        ]
      },
      "EswatiniGlobalNetworkAccount": {
        "type": "object",
        "title": "Eswatini Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateFalklandIslandsGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Falkland Islands Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "falklandIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "falklandIslandsGlobalNetwork": {
            "type": "object",
            "description": "Falkland Islands Global Network account.",
            "$ref": "#/components/schemas/FalklandIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "falklandIslandsGlobalNetwork"
        ]
      },
      "CreateFalklandIslandsGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Falkland Islands Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "falklandIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "falklandIslandsGlobalNetwork": {
            "type": "object",
            "description": "Falkland Islands Global Network account.",
            "$ref": "#/components/schemas/FalklandIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "falklandIslandsGlobalNetwork"
        ]
      },
      "FalklandIslandsGlobalNetworkAccount": {
        "type": "object",
        "title": "Falkland Islands Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateFaroeIslandsGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Faroe Islands Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "faroeIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "faroeIslandsGlobalNetwork": {
            "type": "object",
            "description": "Faroe Islands Global Network account.",
            "$ref": "#/components/schemas/FaroeIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "faroeIslandsGlobalNetwork"
        ]
      },
      "CreateFaroeIslandsGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Faroe Islands Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "faroeIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "faroeIslandsGlobalNetwork": {
            "type": "object",
            "description": "Faroe Islands Global Network account.",
            "$ref": "#/components/schemas/FaroeIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "faroeIslandsGlobalNetwork"
        ]
      },
      "FaroeIslandsGlobalNetworkAccount": {
        "type": "object",
        "title": "Faroe Islands Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateFijiGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Fiji Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "fijiGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "fijiGlobalNetwork": {
            "type": "object",
            "description": "Fiji Global Network account.",
            "$ref": "#/components/schemas/FijiGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "fijiGlobalNetwork"
        ]
      },
      "CreateFijiGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Fiji Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "fijiGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "fijiGlobalNetwork": {
            "type": "object",
            "description": "Fiji Global Network account.",
            "$ref": "#/components/schemas/FijiGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "fijiGlobalNetwork"
        ]
      },
      "FijiGlobalNetworkAccount": {
        "type": "object",
        "title": "Fiji Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateFrenchGuianaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "French Guiana Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "frenchGuianaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "frenchGuianaGlobalNetwork": {
            "type": "object",
            "description": "French Guiana Global Network account.",
            "$ref": "#/components/schemas/FrenchGuianaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "frenchGuianaGlobalNetwork"
        ]
      },
      "CreateFrenchGuianaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "French Guiana Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "frenchGuianaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "frenchGuianaGlobalNetwork": {
            "type": "object",
            "description": "French Guiana Global Network account.",
            "$ref": "#/components/schemas/FrenchGuianaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "frenchGuianaGlobalNetwork"
        ]
      },
      "FrenchGuianaGlobalNetworkAccount": {
        "type": "object",
        "title": "French Guiana Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateFrenchPolynesiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "French Polynesia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "frenchPolynesiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "frenchPolynesiaGlobalNetwork": {
            "type": "object",
            "description": "French Polynesia Global Network account.",
            "$ref": "#/components/schemas/FrenchPolynesiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "frenchPolynesiaGlobalNetwork"
        ]
      },
      "CreateFrenchPolynesiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "French Polynesia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "frenchPolynesiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "frenchPolynesiaGlobalNetwork": {
            "type": "object",
            "description": "French Polynesia Global Network account.",
            "$ref": "#/components/schemas/FrenchPolynesiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "frenchPolynesiaGlobalNetwork"
        ]
      },
      "FrenchPolynesiaGlobalNetworkAccount": {
        "type": "object",
        "title": "French Polynesia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateGambiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Gambia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "gambiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "gambiaGlobalNetwork": {
            "type": "object",
            "description": "Gambia Global Network account.",
            "$ref": "#/components/schemas/GambiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "gambiaGlobalNetwork"
        ]
      },
      "CreateGambiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Gambia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "gambiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "gambiaGlobalNetwork": {
            "type": "object",
            "description": "Gambia Global Network account.",
            "$ref": "#/components/schemas/GambiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "gambiaGlobalNetwork"
        ]
      },
      "GambiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Gambia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateGhanaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Ghana Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "ghanaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "ghanaGlobalNetwork": {
            "type": "object",
            "description": "Ghana Global Network account.",
            "$ref": "#/components/schemas/GhanaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "ghanaGlobalNetwork"
        ]
      },
      "CreateGhanaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Ghana Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "ghanaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "ghanaGlobalNetwork": {
            "type": "object",
            "description": "Ghana Global Network account.",
            "$ref": "#/components/schemas/GhanaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "ghanaGlobalNetwork"
        ]
      },
      "GhanaGlobalNetworkAccount": {
        "type": "object",
        "title": "Ghana Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateGibraltarGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Gibraltar Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "gibraltarGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "gibraltarGlobalNetwork": {
            "type": "object",
            "description": "Gibraltar Global Network account.",
            "$ref": "#/components/schemas/GibraltarGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "gibraltarGlobalNetwork"
        ]
      },
      "CreateGibraltarGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Gibraltar Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "gibraltarGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "gibraltarGlobalNetwork": {
            "type": "object",
            "description": "Gibraltar Global Network account.",
            "$ref": "#/components/schemas/GibraltarGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "gibraltarGlobalNetwork"
        ]
      },
      "GibraltarGlobalNetworkAccount": {
        "type": "object",
        "title": "Gibraltar Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateGreenlandGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Greenland Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "greenlandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "greenlandGlobalNetwork": {
            "type": "object",
            "description": "Greenland Global Network account.",
            "$ref": "#/components/schemas/GreenlandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "greenlandGlobalNetwork"
        ]
      },
      "CreateGreenlandGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Greenland Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "greenlandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "greenlandGlobalNetwork": {
            "type": "object",
            "description": "Greenland Global Network account.",
            "$ref": "#/components/schemas/GreenlandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "greenlandGlobalNetwork"
        ]
      },
      "GreenlandGlobalNetworkAccount": {
        "type": "object",
        "title": "Greenland Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateGrenadaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Grenada Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "grenadaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "grenadaGlobalNetwork": {
            "type": "object",
            "description": "Grenada Global Network account.",
            "$ref": "#/components/schemas/GrenadaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "grenadaGlobalNetwork"
        ]
      },
      "CreateGrenadaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Grenada Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "grenadaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "grenadaGlobalNetwork": {
            "type": "object",
            "description": "Grenada Global Network account.",
            "$ref": "#/components/schemas/GrenadaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "grenadaGlobalNetwork"
        ]
      },
      "GrenadaGlobalNetworkAccount": {
        "type": "object",
        "title": "Grenada Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateGuadeloupeGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Guadeloupe Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "guadeloupeGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "guadeloupeGlobalNetwork": {
            "type": "object",
            "description": "Guadeloupe Global Network account.",
            "$ref": "#/components/schemas/GuadeloupeGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "guadeloupeGlobalNetwork"
        ]
      },
      "CreateGuadeloupeGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Guadeloupe Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "guadeloupeGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "guadeloupeGlobalNetwork": {
            "type": "object",
            "description": "Guadeloupe Global Network account.",
            "$ref": "#/components/schemas/GuadeloupeGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "guadeloupeGlobalNetwork"
        ]
      },
      "GuadeloupeGlobalNetworkAccount": {
        "type": "object",
        "title": "Guadeloupe Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateGuamGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Guam Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "guamGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "guamGlobalNetwork": {
            "type": "object",
            "description": "Guam Global Network account.",
            "$ref": "#/components/schemas/GuamGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "guamGlobalNetwork"
        ]
      },
      "CreateGuamGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Guam Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "guamGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "guamGlobalNetwork": {
            "type": "object",
            "description": "Guam Global Network account.",
            "$ref": "#/components/schemas/GuamGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "guamGlobalNetwork"
        ]
      },
      "GuamGlobalNetworkAccount": {
        "type": "object",
        "title": "Guam Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateGuineaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Guinea Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "guineaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "guineaGlobalNetwork": {
            "type": "object",
            "description": "Guinea Global Network account.",
            "$ref": "#/components/schemas/GuineaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "guineaGlobalNetwork"
        ]
      },
      "CreateGuineaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Guinea Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "guineaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "guineaGlobalNetwork": {
            "type": "object",
            "description": "Guinea Global Network account.",
            "$ref": "#/components/schemas/GuineaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "guineaGlobalNetwork"
        ]
      },
      "GuineaGlobalNetworkAccount": {
        "type": "object",
        "title": "Guinea Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateGuyanaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Guyana Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "guyanaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "guyanaGlobalNetwork": {
            "type": "object",
            "description": "Guyana Global Network account.",
            "$ref": "#/components/schemas/GuyanaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "guyanaGlobalNetwork"
        ]
      },
      "CreateGuyanaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Guyana Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "guyanaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "guyanaGlobalNetwork": {
            "type": "object",
            "description": "Guyana Global Network account.",
            "$ref": "#/components/schemas/GuyanaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "guyanaGlobalNetwork"
        ]
      },
      "GuyanaGlobalNetworkAccount": {
        "type": "object",
        "title": "Guyana Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateHondurasGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Honduras Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "hondurasGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "hondurasGlobalNetwork": {
            "type": "object",
            "description": "Honduras Global Network account.",
            "$ref": "#/components/schemas/HondurasGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "hondurasGlobalNetwork"
        ]
      },
      "CreateHondurasGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Honduras Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "hondurasGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "hondurasGlobalNetwork": {
            "type": "object",
            "description": "Honduras Global Network account.",
            "$ref": "#/components/schemas/HondurasGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "hondurasGlobalNetwork"
        ]
      },
      "HondurasGlobalNetworkAccount": {
        "type": "object",
        "title": "Honduras Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateIsleOfManGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Isle Of Man Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "isleOfManGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "isleOfManGlobalNetwork": {
            "type": "object",
            "description": "Isle Of Man Global Network account.",
            "$ref": "#/components/schemas/IsleOfManGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "isleOfManGlobalNetwork"
        ]
      },
      "CreateIsleOfManGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Isle Of Man Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "isleOfManGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "isleOfManGlobalNetwork": {
            "type": "object",
            "description": "Isle Of Man Global Network account.",
            "$ref": "#/components/schemas/IsleOfManGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "isleOfManGlobalNetwork"
        ]
      },
      "IsleOfManGlobalNetworkAccount": {
        "type": "object",
        "title": "Isle Of Man Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateJerseyGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Jersey Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "jerseyGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "jerseyGlobalNetwork": {
            "type": "object",
            "description": "Jersey Global Network account.",
            "$ref": "#/components/schemas/JerseyGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "jerseyGlobalNetwork"
        ]
      },
      "CreateJerseyGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Jersey Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "jerseyGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "jerseyGlobalNetwork": {
            "type": "object",
            "description": "Jersey Global Network account.",
            "$ref": "#/components/schemas/JerseyGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "jerseyGlobalNetwork"
        ]
      },
      "JerseyGlobalNetworkAccount": {
        "type": "object",
        "title": "Jersey Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateJordanGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Jordan Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "jordanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "jordanGlobalNetwork": {
            "type": "object",
            "description": "Jordan Global Network account.",
            "$ref": "#/components/schemas/JordanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "jordanGlobalNetwork"
        ]
      },
      "CreateJordanGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Jordan Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "jordanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "jordanGlobalNetwork": {
            "type": "object",
            "description": "Jordan Global Network account.",
            "$ref": "#/components/schemas/JordanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "jordanGlobalNetwork"
        ]
      },
      "JordanGlobalNetworkAccount": {
        "type": "object",
        "title": "Jordan Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateKazakhstanGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Kazakhstan Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "kazakhstanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "kazakhstanGlobalNetwork": {
            "type": "object",
            "description": "Kazakhstan Global Network account.",
            "$ref": "#/components/schemas/KazakhstanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "kazakhstanGlobalNetwork"
        ]
      },
      "CreateKazakhstanGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Kazakhstan Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "kazakhstanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "kazakhstanGlobalNetwork": {
            "type": "object",
            "description": "Kazakhstan Global Network account.",
            "$ref": "#/components/schemas/KazakhstanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "kazakhstanGlobalNetwork"
        ]
      },
      "KazakhstanGlobalNetworkAccount": {
        "type": "object",
        "title": "Kazakhstan Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateKiribatiGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Kiribati Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "kiribatiGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "kiribatiGlobalNetwork": {
            "type": "object",
            "description": "Kiribati Global Network account.",
            "$ref": "#/components/schemas/KiribatiGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "kiribatiGlobalNetwork"
        ]
      },
      "CreateKiribatiGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Kiribati Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "kiribatiGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "kiribatiGlobalNetwork": {
            "type": "object",
            "description": "Kiribati Global Network account.",
            "$ref": "#/components/schemas/KiribatiGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "kiribatiGlobalNetwork"
        ]
      },
      "KiribatiGlobalNetworkAccount": {
        "type": "object",
        "title": "Kiribati Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateKuwaitGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Kuwait Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "kuwaitGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "kuwaitGlobalNetwork": {
            "type": "object",
            "description": "Kuwait Global Network account.",
            "$ref": "#/components/schemas/KuwaitGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "kuwaitGlobalNetwork"
        ]
      },
      "CreateKuwaitGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Kuwait Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "kuwaitGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "kuwaitGlobalNetwork": {
            "type": "object",
            "description": "Kuwait Global Network account.",
            "$ref": "#/components/schemas/KuwaitGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "kuwaitGlobalNetwork"
        ]
      },
      "KuwaitGlobalNetworkAccount": {
        "type": "object",
        "title": "Kuwait Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateKyrgyzstanGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Kyrgyzstan Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "kyrgyzstanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "kyrgyzstanGlobalNetwork": {
            "type": "object",
            "description": "Kyrgyzstan Global Network account.",
            "$ref": "#/components/schemas/KyrgyzstanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "kyrgyzstanGlobalNetwork"
        ]
      },
      "CreateKyrgyzstanGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Kyrgyzstan Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "kyrgyzstanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "kyrgyzstanGlobalNetwork": {
            "type": "object",
            "description": "Kyrgyzstan Global Network account.",
            "$ref": "#/components/schemas/KyrgyzstanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "kyrgyzstanGlobalNetwork"
        ]
      },
      "KyrgyzstanGlobalNetworkAccount": {
        "type": "object",
        "title": "Kyrgyzstan Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateLesothoGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Lesotho Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "lesothoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "lesothoGlobalNetwork": {
            "type": "object",
            "description": "Lesotho Global Network account.",
            "$ref": "#/components/schemas/LesothoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "lesothoGlobalNetwork"
        ]
      },
      "CreateLesothoGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Lesotho Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "lesothoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "lesothoGlobalNetwork": {
            "type": "object",
            "description": "Lesotho Global Network account.",
            "$ref": "#/components/schemas/LesothoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "lesothoGlobalNetwork"
        ]
      },
      "LesothoGlobalNetworkAccount": {
        "type": "object",
        "title": "Lesotho Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateMadagascarGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Madagascar Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "madagascarGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "madagascarGlobalNetwork": {
            "type": "object",
            "description": "Madagascar Global Network account.",
            "$ref": "#/components/schemas/MadagascarGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "madagascarGlobalNetwork"
        ]
      },
      "CreateMadagascarGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Madagascar Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "madagascarGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "madagascarGlobalNetwork": {
            "type": "object",
            "description": "Madagascar Global Network account.",
            "$ref": "#/components/schemas/MadagascarGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "madagascarGlobalNetwork"
        ]
      },
      "MadagascarGlobalNetworkAccount": {
        "type": "object",
        "title": "Madagascar Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateMalawiGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Malawi Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "malawiGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "malawiGlobalNetwork": {
            "type": "object",
            "description": "Malawi Global Network account.",
            "$ref": "#/components/schemas/MalawiGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "malawiGlobalNetwork"
        ]
      },
      "CreateMalawiGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Malawi Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "malawiGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "malawiGlobalNetwork": {
            "type": "object",
            "description": "Malawi Global Network account.",
            "$ref": "#/components/schemas/MalawiGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "malawiGlobalNetwork"
        ]
      },
      "MalawiGlobalNetworkAccount": {
        "type": "object",
        "title": "Malawi Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateMaldivesGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Maldives Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "maldivesGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "maldivesGlobalNetwork": {
            "type": "object",
            "description": "Maldives Global Network account.",
            "$ref": "#/components/schemas/MaldivesGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "maldivesGlobalNetwork"
        ]
      },
      "CreateMaldivesGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Maldives Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "maldivesGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "maldivesGlobalNetwork": {
            "type": "object",
            "description": "Maldives Global Network account.",
            "$ref": "#/components/schemas/MaldivesGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "maldivesGlobalNetwork"
        ]
      },
      "MaldivesGlobalNetworkAccount": {
        "type": "object",
        "title": "Maldives Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateMarshallIslandsGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Marshall Islands Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "marshallIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "marshallIslandsGlobalNetwork": {
            "type": "object",
            "description": "Marshall Islands Global Network account.",
            "$ref": "#/components/schemas/MarshallIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "marshallIslandsGlobalNetwork"
        ]
      },
      "CreateMarshallIslandsGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Marshall Islands Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "marshallIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "marshallIslandsGlobalNetwork": {
            "type": "object",
            "description": "Marshall Islands Global Network account.",
            "$ref": "#/components/schemas/MarshallIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "marshallIslandsGlobalNetwork"
        ]
      },
      "MarshallIslandsGlobalNetworkAccount": {
        "type": "object",
        "title": "Marshall Islands Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateMartiniqueGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Martinique Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "martiniqueGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "martiniqueGlobalNetwork": {
            "type": "object",
            "description": "Martinique Global Network account.",
            "$ref": "#/components/schemas/MartiniqueGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "martiniqueGlobalNetwork"
        ]
      },
      "CreateMartiniqueGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Martinique Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "martiniqueGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "martiniqueGlobalNetwork": {
            "type": "object",
            "description": "Martinique Global Network account.",
            "$ref": "#/components/schemas/MartiniqueGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "martiniqueGlobalNetwork"
        ]
      },
      "MartiniqueGlobalNetworkAccount": {
        "type": "object",
        "title": "Martinique Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateMauritaniaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Mauritania Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "mauritaniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "mauritaniaGlobalNetwork": {
            "type": "object",
            "description": "Mauritania Global Network account.",
            "$ref": "#/components/schemas/MauritaniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "mauritaniaGlobalNetwork"
        ]
      },
      "CreateMauritaniaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Mauritania Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "mauritaniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "mauritaniaGlobalNetwork": {
            "type": "object",
            "description": "Mauritania Global Network account.",
            "$ref": "#/components/schemas/MauritaniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "mauritaniaGlobalNetwork"
        ]
      },
      "MauritaniaGlobalNetworkAccount": {
        "type": "object",
        "title": "Mauritania Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateMauritiusGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Mauritius Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "mauritiusGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "mauritiusGlobalNetwork": {
            "type": "object",
            "description": "Mauritius Global Network account.",
            "$ref": "#/components/schemas/MauritiusGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "mauritiusGlobalNetwork"
        ]
      },
      "CreateMauritiusGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Mauritius Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "mauritiusGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "mauritiusGlobalNetwork": {
            "type": "object",
            "description": "Mauritius Global Network account.",
            "$ref": "#/components/schemas/MauritiusGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "mauritiusGlobalNetwork"
        ]
      },
      "MauritiusGlobalNetworkAccount": {
        "type": "object",
        "title": "Mauritius Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateMayotteGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Mayotte Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "mayotteGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "mayotteGlobalNetwork": {
            "type": "object",
            "description": "Mayotte Global Network account.",
            "$ref": "#/components/schemas/MayotteGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "mayotteGlobalNetwork"
        ]
      },
      "CreateMayotteGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Mayotte Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "mayotteGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "mayotteGlobalNetwork": {
            "type": "object",
            "description": "Mayotte Global Network account.",
            "$ref": "#/components/schemas/MayotteGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "mayotteGlobalNetwork"
        ]
      },
      "MayotteGlobalNetworkAccount": {
        "type": "object",
        "title": "Mayotte Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateMicronesiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Micronesia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "micronesiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "micronesiaGlobalNetwork": {
            "type": "object",
            "description": "Micronesia Global Network account.",
            "$ref": "#/components/schemas/MicronesiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "micronesiaGlobalNetwork"
        ]
      },
      "CreateMicronesiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Micronesia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "micronesiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "micronesiaGlobalNetwork": {
            "type": "object",
            "description": "Micronesia Global Network account.",
            "$ref": "#/components/schemas/MicronesiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "micronesiaGlobalNetwork"
        ]
      },
      "MicronesiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Micronesia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateMongoliaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Mongolia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "mongoliaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "mongoliaGlobalNetwork": {
            "type": "object",
            "description": "Mongolia Global Network account.",
            "$ref": "#/components/schemas/MongoliaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "mongoliaGlobalNetwork"
        ]
      },
      "CreateMongoliaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Mongolia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "mongoliaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "mongoliaGlobalNetwork": {
            "type": "object",
            "description": "Mongolia Global Network account.",
            "$ref": "#/components/schemas/MongoliaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "mongoliaGlobalNetwork"
        ]
      },
      "MongoliaGlobalNetworkAccount": {
        "type": "object",
        "title": "Mongolia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateMontserratGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Montserrat Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "montserratGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "montserratGlobalNetwork": {
            "type": "object",
            "description": "Montserrat Global Network account.",
            "$ref": "#/components/schemas/MontserratGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "montserratGlobalNetwork"
        ]
      },
      "CreateMontserratGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Montserrat Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "montserratGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "montserratGlobalNetwork": {
            "type": "object",
            "description": "Montserrat Global Network account.",
            "$ref": "#/components/schemas/MontserratGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "montserratGlobalNetwork"
        ]
      },
      "MontserratGlobalNetworkAccount": {
        "type": "object",
        "title": "Montserrat Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateMoroccoGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Morocco Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "moroccoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "moroccoGlobalNetwork": {
            "type": "object",
            "description": "Morocco Global Network account.",
            "$ref": "#/components/schemas/MoroccoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "moroccoGlobalNetwork"
        ]
      },
      "CreateMoroccoGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Morocco Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "moroccoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "moroccoGlobalNetwork": {
            "type": "object",
            "description": "Morocco Global Network account.",
            "$ref": "#/components/schemas/MoroccoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "moroccoGlobalNetwork"
        ]
      },
      "MoroccoGlobalNetworkAccount": {
        "type": "object",
        "title": "Morocco Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateNamibiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Namibia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "namibiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "namibiaGlobalNetwork": {
            "type": "object",
            "description": "Namibia Global Network account.",
            "$ref": "#/components/schemas/NamibiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "namibiaGlobalNetwork"
        ]
      },
      "CreateNamibiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Namibia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "namibiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "namibiaGlobalNetwork": {
            "type": "object",
            "description": "Namibia Global Network account.",
            "$ref": "#/components/schemas/NamibiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "namibiaGlobalNetwork"
        ]
      },
      "NamibiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Namibia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateNauruGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Nauru Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "nauruGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "nauruGlobalNetwork": {
            "type": "object",
            "description": "Nauru Global Network account.",
            "$ref": "#/components/schemas/NauruGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "nauruGlobalNetwork"
        ]
      },
      "CreateNauruGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Nauru Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "nauruGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "nauruGlobalNetwork": {
            "type": "object",
            "description": "Nauru Global Network account.",
            "$ref": "#/components/schemas/NauruGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "nauruGlobalNetwork"
        ]
      },
      "NauruGlobalNetworkAccount": {
        "type": "object",
        "title": "Nauru Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateNepalGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Nepal Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "nepalGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "nepalGlobalNetwork": {
            "type": "object",
            "description": "Nepal Global Network account.",
            "$ref": "#/components/schemas/NepalGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "nepalGlobalNetwork"
        ]
      },
      "CreateNepalGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Nepal Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "nepalGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "nepalGlobalNetwork": {
            "type": "object",
            "description": "Nepal Global Network account.",
            "$ref": "#/components/schemas/NepalGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "nepalGlobalNetwork"
        ]
      },
      "NepalGlobalNetworkAccount": {
        "type": "object",
        "title": "Nepal Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateNewCaledoniaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "New Caledonia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "newCaledoniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "newCaledoniaGlobalNetwork": {
            "type": "object",
            "description": "New Caledonia Global Network account.",
            "$ref": "#/components/schemas/NewCaledoniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "newCaledoniaGlobalNetwork"
        ]
      },
      "CreateNewCaledoniaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "New Caledonia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "newCaledoniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "newCaledoniaGlobalNetwork": {
            "type": "object",
            "description": "New Caledonia Global Network account.",
            "$ref": "#/components/schemas/NewCaledoniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "newCaledoniaGlobalNetwork"
        ]
      },
      "NewCaledoniaGlobalNetworkAccount": {
        "type": "object",
        "title": "New Caledonia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateNigerGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Niger Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "nigerGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "nigerGlobalNetwork": {
            "type": "object",
            "description": "Niger Global Network account.",
            "$ref": "#/components/schemas/NigerGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "nigerGlobalNetwork"
        ]
      },
      "CreateNigerGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Niger Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "nigerGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "nigerGlobalNetwork": {
            "type": "object",
            "description": "Niger Global Network account.",
            "$ref": "#/components/schemas/NigerGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "nigerGlobalNetwork"
        ]
      },
      "NigerGlobalNetworkAccount": {
        "type": "object",
        "title": "Niger Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateNiueGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Niue Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "niueGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "niueGlobalNetwork": {
            "type": "object",
            "description": "Niue Global Network account.",
            "$ref": "#/components/schemas/NiueGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "niueGlobalNetwork"
        ]
      },
      "CreateNiueGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Niue Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "niueGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "niueGlobalNetwork": {
            "type": "object",
            "description": "Niue Global Network account.",
            "$ref": "#/components/schemas/NiueGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "niueGlobalNetwork"
        ]
      },
      "NiueGlobalNetworkAccount": {
        "type": "object",
        "title": "Niue Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateNorfolkIslandGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Norfolk Island Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "norfolkIslandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "norfolkIslandGlobalNetwork": {
            "type": "object",
            "description": "Norfolk Island Global Network account.",
            "$ref": "#/components/schemas/NorfolkIslandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "norfolkIslandGlobalNetwork"
        ]
      },
      "CreateNorfolkIslandGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Norfolk Island Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "norfolkIslandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "norfolkIslandGlobalNetwork": {
            "type": "object",
            "description": "Norfolk Island Global Network account.",
            "$ref": "#/components/schemas/NorfolkIslandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "norfolkIslandGlobalNetwork"
        ]
      },
      "NorfolkIslandGlobalNetworkAccount": {
        "type": "object",
        "title": "Norfolk Island Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateNorthernMarianaIslandsGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Northern Mariana Islands Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "northernMarianaIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "northernMarianaIslandsGlobalNetwork": {
            "type": "object",
            "description": "Northern Mariana Islands Global Network account.",
            "$ref": "#/components/schemas/NorthernMarianaIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "northernMarianaIslandsGlobalNetwork"
        ]
      },
      "CreateNorthernMarianaIslandsGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Northern Mariana Islands Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "northernMarianaIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "northernMarianaIslandsGlobalNetwork": {
            "type": "object",
            "description": "Northern Mariana Islands Global Network account.",
            "$ref": "#/components/schemas/NorthernMarianaIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "northernMarianaIslandsGlobalNetwork"
        ]
      },
      "NorthernMarianaIslandsGlobalNetworkAccount": {
        "type": "object",
        "title": "Northern Mariana Islands Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreatePakistanGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Pakistan Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "pakistanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "pakistanGlobalNetwork": {
            "type": "object",
            "description": "Pakistan Global Network account.",
            "$ref": "#/components/schemas/PakistanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "pakistanGlobalNetwork"
        ]
      },
      "CreatePakistanGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Pakistan Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "pakistanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "pakistanGlobalNetwork": {
            "type": "object",
            "description": "Pakistan Global Network account.",
            "$ref": "#/components/schemas/PakistanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "pakistanGlobalNetwork"
        ]
      },
      "PakistanGlobalNetworkAccount": {
        "type": "object",
        "title": "Pakistan Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreatePalauGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Palau Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "palauGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "palauGlobalNetwork": {
            "type": "object",
            "description": "Palau Global Network account.",
            "$ref": "#/components/schemas/PalauGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "palauGlobalNetwork"
        ]
      },
      "CreatePalauGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Palau Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "palauGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "palauGlobalNetwork": {
            "type": "object",
            "description": "Palau Global Network account.",
            "$ref": "#/components/schemas/PalauGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "palauGlobalNetwork"
        ]
      },
      "PalauGlobalNetworkAccount": {
        "type": "object",
        "title": "Palau Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreatePapuaNewGuineaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Papua New Guinea Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "papuaNewGuineaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "papuaNewGuineaGlobalNetwork": {
            "type": "object",
            "description": "Papua New Guinea Global Network account.",
            "$ref": "#/components/schemas/PapuaNewGuineaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "papuaNewGuineaGlobalNetwork"
        ]
      },
      "CreatePapuaNewGuineaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Papua New Guinea Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "papuaNewGuineaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "papuaNewGuineaGlobalNetwork": {
            "type": "object",
            "description": "Papua New Guinea Global Network account.",
            "$ref": "#/components/schemas/PapuaNewGuineaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "papuaNewGuineaGlobalNetwork"
        ]
      },
      "PapuaNewGuineaGlobalNetworkAccount": {
        "type": "object",
        "title": "Papua New Guinea Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreatePitcairnGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Pitcairn Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "pitcairnGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "pitcairnGlobalNetwork": {
            "type": "object",
            "description": "Pitcairn Global Network account.",
            "$ref": "#/components/schemas/PitcairnGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "pitcairnGlobalNetwork"
        ]
      },
      "CreatePitcairnGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Pitcairn Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "pitcairnGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "pitcairnGlobalNetwork": {
            "type": "object",
            "description": "Pitcairn Global Network account.",
            "$ref": "#/components/schemas/PitcairnGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "pitcairnGlobalNetwork"
        ]
      },
      "PitcairnGlobalNetworkAccount": {
        "type": "object",
        "title": "Pitcairn Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreatePuertoRicoGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Puerto Rico Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "puertoRicoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "puertoRicoGlobalNetwork": {
            "type": "object",
            "description": "Puerto Rico Global Network account.",
            "$ref": "#/components/schemas/PuertoRicoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "puertoRicoGlobalNetwork"
        ]
      },
      "CreatePuertoRicoGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Puerto Rico Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "puertoRicoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "puertoRicoGlobalNetwork": {
            "type": "object",
            "description": "Puerto Rico Global Network account.",
            "$ref": "#/components/schemas/PuertoRicoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "puertoRicoGlobalNetwork"
        ]
      },
      "PuertoRicoGlobalNetworkAccount": {
        "type": "object",
        "title": "Puerto Rico Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateQatarGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Qatar Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "qatarGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "qatarGlobalNetwork": {
            "type": "object",
            "description": "Qatar Global Network account.",
            "$ref": "#/components/schemas/QatarGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "qatarGlobalNetwork"
        ]
      },
      "CreateQatarGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Qatar Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "qatarGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "qatarGlobalNetwork": {
            "type": "object",
            "description": "Qatar Global Network account.",
            "$ref": "#/components/schemas/QatarGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "qatarGlobalNetwork"
        ]
      },
      "QatarGlobalNetworkAccount": {
        "type": "object",
        "title": "Qatar Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateReunionGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Reunion Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "reunionGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "reunionGlobalNetwork": {
            "type": "object",
            "description": "Reunion Global Network account.",
            "$ref": "#/components/schemas/ReunionGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "reunionGlobalNetwork"
        ]
      },
      "CreateReunionGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Reunion Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "reunionGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "reunionGlobalNetwork": {
            "type": "object",
            "description": "Reunion Global Network account.",
            "$ref": "#/components/schemas/ReunionGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "reunionGlobalNetwork"
        ]
      },
      "ReunionGlobalNetworkAccount": {
        "type": "object",
        "title": "Reunion Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateRwandaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Rwanda Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "rwandaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "rwandaGlobalNetwork": {
            "type": "object",
            "description": "Rwanda Global Network account.",
            "$ref": "#/components/schemas/RwandaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "rwandaGlobalNetwork"
        ]
      },
      "CreateRwandaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Rwanda Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "rwandaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "rwandaGlobalNetwork": {
            "type": "object",
            "description": "Rwanda Global Network account.",
            "$ref": "#/components/schemas/RwandaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "rwandaGlobalNetwork"
        ]
      },
      "RwandaGlobalNetworkAccount": {
        "type": "object",
        "title": "Rwanda Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateSaintBarthelemyGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Saint Barthelemy Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintBarthelemyGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "saintBarthelemyGlobalNetwork": {
            "type": "object",
            "description": "Saint Barthelemy Global Network account.",
            "$ref": "#/components/schemas/SaintBarthelemyGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintBarthelemyGlobalNetwork"
        ]
      },
      "CreateSaintBarthelemyGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Saint Barthelemy Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintBarthelemyGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "saintBarthelemyGlobalNetwork": {
            "type": "object",
            "description": "Saint Barthelemy Global Network account.",
            "$ref": "#/components/schemas/SaintBarthelemyGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintBarthelemyGlobalNetwork"
        ]
      },
      "SaintBarthelemyGlobalNetworkAccount": {
        "type": "object",
        "title": "Saint Barthelemy Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSaintHelenaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Saint Helena Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintHelenaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "saintHelenaGlobalNetwork": {
            "type": "object",
            "description": "Saint Helena Global Network account.",
            "$ref": "#/components/schemas/SaintHelenaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintHelenaGlobalNetwork"
        ]
      },
      "CreateSaintHelenaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Saint Helena Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintHelenaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "saintHelenaGlobalNetwork": {
            "type": "object",
            "description": "Saint Helena Global Network account.",
            "$ref": "#/components/schemas/SaintHelenaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintHelenaGlobalNetwork"
        ]
      },
      "SaintHelenaGlobalNetworkAccount": {
        "type": "object",
        "title": "Saint Helena Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateSaintKittsAndNevisGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Saint Kitts And Nevis Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintKittsAndNevisGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "saintKittsAndNevisGlobalNetwork": {
            "type": "object",
            "description": "Saint Kitts And Nevis Global Network account.",
            "$ref": "#/components/schemas/SaintKittsAndNevisGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintKittsAndNevisGlobalNetwork"
        ]
      },
      "CreateSaintKittsAndNevisGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Saint Kitts And Nevis Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintKittsAndNevisGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "saintKittsAndNevisGlobalNetwork": {
            "type": "object",
            "description": "Saint Kitts And Nevis Global Network account.",
            "$ref": "#/components/schemas/SaintKittsAndNevisGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintKittsAndNevisGlobalNetwork"
        ]
      },
      "SaintKittsAndNevisGlobalNetworkAccount": {
        "type": "object",
        "title": "Saint Kitts And Nevis Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateSaintLuciaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Saint Lucia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintLuciaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "saintLuciaGlobalNetwork": {
            "type": "object",
            "description": "Saint Lucia Global Network account.",
            "$ref": "#/components/schemas/SaintLuciaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintLuciaGlobalNetwork"
        ]
      },
      "CreateSaintLuciaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Saint Lucia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintLuciaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "saintLuciaGlobalNetwork": {
            "type": "object",
            "description": "Saint Lucia Global Network account.",
            "$ref": "#/components/schemas/SaintLuciaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintLuciaGlobalNetwork"
        ]
      },
      "SaintLuciaGlobalNetworkAccount": {
        "type": "object",
        "title": "Saint Lucia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSaintMartinGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Saint Martin Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintMartinGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "saintMartinGlobalNetwork": {
            "type": "object",
            "description": "Saint Martin Global Network account.",
            "$ref": "#/components/schemas/SaintMartinGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintMartinGlobalNetwork"
        ]
      },
      "CreateSaintMartinGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Saint Martin Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintMartinGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "saintMartinGlobalNetwork": {
            "type": "object",
            "description": "Saint Martin Global Network account.",
            "$ref": "#/components/schemas/SaintMartinGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintMartinGlobalNetwork"
        ]
      },
      "SaintMartinGlobalNetworkAccount": {
        "type": "object",
        "title": "Saint Martin Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSaintPierreAndMiquelonGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Saint Pierre And Miquelon Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintPierreAndMiquelonGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "saintPierreAndMiquelonGlobalNetwork": {
            "type": "object",
            "description": "Saint Pierre And Miquelon Global Network account.",
            "$ref": "#/components/schemas/SaintPierreAndMiquelonGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintPierreAndMiquelonGlobalNetwork"
        ]
      },
      "CreateSaintPierreAndMiquelonGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Saint Pierre And Miquelon Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintPierreAndMiquelonGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "saintPierreAndMiquelonGlobalNetwork": {
            "type": "object",
            "description": "Saint Pierre And Miquelon Global Network account.",
            "$ref": "#/components/schemas/SaintPierreAndMiquelonGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintPierreAndMiquelonGlobalNetwork"
        ]
      },
      "SaintPierreAndMiquelonGlobalNetworkAccount": {
        "type": "object",
        "title": "Saint Pierre And Miquelon Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSaintVincentAndTheGrenadinesGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Saint Vincent And The Grenadines Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintVincentAndTheGrenadinesGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "saintVincentAndTheGrenadinesGlobalNetwork": {
            "type": "object",
            "description": "Saint Vincent And The Grenadines Global Network account.",
            "$ref": "#/components/schemas/SaintVincentAndTheGrenadinesGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintVincentAndTheGrenadinesGlobalNetwork"
        ]
      },
      "CreateSaintVincentAndTheGrenadinesGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Saint Vincent And The Grenadines Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saintVincentAndTheGrenadinesGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "saintVincentAndTheGrenadinesGlobalNetwork": {
            "type": "object",
            "description": "Saint Vincent And The Grenadines Global Network account.",
            "$ref": "#/components/schemas/SaintVincentAndTheGrenadinesGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saintVincentAndTheGrenadinesGlobalNetwork"
        ]
      },
      "SaintVincentAndTheGrenadinesGlobalNetworkAccount": {
        "type": "object",
        "title": "Saint Vincent And The Grenadines Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateSamoaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Samoa Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "samoaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "samoaGlobalNetwork": {
            "type": "object",
            "description": "Samoa Global Network account.",
            "$ref": "#/components/schemas/SamoaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "samoaGlobalNetwork"
        ]
      },
      "CreateSamoaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Samoa Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "samoaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "samoaGlobalNetwork": {
            "type": "object",
            "description": "Samoa Global Network account.",
            "$ref": "#/components/schemas/SamoaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "samoaGlobalNetwork"
        ]
      },
      "SamoaGlobalNetworkAccount": {
        "type": "object",
        "title": "Samoa Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateSaoTomeAndPrincipeGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Sao Tome And Principe Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saoTomeAndPrincipeGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "saoTomeAndPrincipeGlobalNetwork": {
            "type": "object",
            "description": "Sao Tome And Principe Global Network account.",
            "$ref": "#/components/schemas/SaoTomeAndPrincipeGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saoTomeAndPrincipeGlobalNetwork"
        ]
      },
      "CreateSaoTomeAndPrincipeGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Sao Tome And Principe Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "saoTomeAndPrincipeGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "saoTomeAndPrincipeGlobalNetwork": {
            "type": "object",
            "description": "Sao Tome And Principe Global Network account.",
            "$ref": "#/components/schemas/SaoTomeAndPrincipeGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "saoTomeAndPrincipeGlobalNetwork"
        ]
      },
      "SaoTomeAndPrincipeGlobalNetworkAccount": {
        "type": "object",
        "title": "Sao Tome And Principe Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSenegalGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Senegal Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "senegalGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "senegalGlobalNetwork": {
            "type": "object",
            "description": "Senegal Global Network account.",
            "$ref": "#/components/schemas/SenegalGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "senegalGlobalNetwork"
        ]
      },
      "CreateSenegalGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Senegal Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "senegalGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "senegalGlobalNetwork": {
            "type": "object",
            "description": "Senegal Global Network account.",
            "$ref": "#/components/schemas/SenegalGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "senegalGlobalNetwork"
        ]
      },
      "SenegalGlobalNetworkAccount": {
        "type": "object",
        "title": "Senegal Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSeychellesGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Seychelles Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "seychellesGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "seychellesGlobalNetwork": {
            "type": "object",
            "description": "Seychelles Global Network account.",
            "$ref": "#/components/schemas/SeychellesGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "seychellesGlobalNetwork"
        ]
      },
      "CreateSeychellesGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Seychelles Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "seychellesGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "seychellesGlobalNetwork": {
            "type": "object",
            "description": "Seychelles Global Network account.",
            "$ref": "#/components/schemas/SeychellesGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "seychellesGlobalNetwork"
        ]
      },
      "SeychellesGlobalNetworkAccount": {
        "type": "object",
        "title": "Seychelles Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSierraLeoneGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Sierra Leone Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "sierraLeoneGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "sierraLeoneGlobalNetwork": {
            "type": "object",
            "description": "Sierra Leone Global Network account.",
            "$ref": "#/components/schemas/SierraLeoneGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "sierraLeoneGlobalNetwork"
        ]
      },
      "CreateSierraLeoneGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Sierra Leone Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "sierraLeoneGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "sierraLeoneGlobalNetwork": {
            "type": "object",
            "description": "Sierra Leone Global Network account.",
            "$ref": "#/components/schemas/SierraLeoneGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "sierraLeoneGlobalNetwork"
        ]
      },
      "SierraLeoneGlobalNetworkAccount": {
        "type": "object",
        "title": "Sierra Leone Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateSintMaartenGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Sint Maarten Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "sintMaartenGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "sintMaartenGlobalNetwork": {
            "type": "object",
            "description": "Sint Maarten Global Network account.",
            "$ref": "#/components/schemas/SintMaartenGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "sintMaartenGlobalNetwork"
        ]
      },
      "CreateSintMaartenGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Sint Maarten Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "sintMaartenGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "sintMaartenGlobalNetwork": {
            "type": "object",
            "description": "Sint Maarten Global Network account.",
            "$ref": "#/components/schemas/SintMaartenGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "sintMaartenGlobalNetwork"
        ]
      },
      "SintMaartenGlobalNetworkAccount": {
        "type": "object",
        "title": "Sint Maarten Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateSolomonIslandsGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Solomon Islands Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "solomonIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "solomonIslandsGlobalNetwork": {
            "type": "object",
            "description": "Solomon Islands Global Network account.",
            "$ref": "#/components/schemas/SolomonIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "solomonIslandsGlobalNetwork"
        ]
      },
      "CreateSolomonIslandsGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Solomon Islands Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "solomonIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "solomonIslandsGlobalNetwork": {
            "type": "object",
            "description": "Solomon Islands Global Network account.",
            "$ref": "#/components/schemas/SolomonIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "solomonIslandsGlobalNetwork"
        ]
      },
      "SolomonIslandsGlobalNetworkAccount": {
        "type": "object",
        "title": "Solomon Islands Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateSriLankaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Sri Lanka Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "sriLankaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "sriLankaGlobalNetwork": {
            "type": "object",
            "description": "Sri Lanka Global Network account.",
            "$ref": "#/components/schemas/SriLankaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "sriLankaGlobalNetwork"
        ]
      },
      "CreateSriLankaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Sri Lanka Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "sriLankaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "sriLankaGlobalNetwork": {
            "type": "object",
            "description": "Sri Lanka Global Network account.",
            "$ref": "#/components/schemas/SriLankaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "sriLankaGlobalNetwork"
        ]
      },
      "SriLankaGlobalNetworkAccount": {
        "type": "object",
        "title": "Sri Lanka Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateSurinameGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Suriname Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "surinameGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "surinameGlobalNetwork": {
            "type": "object",
            "description": "Suriname Global Network account.",
            "$ref": "#/components/schemas/SurinameGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "surinameGlobalNetwork"
        ]
      },
      "CreateSurinameGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Suriname Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "surinameGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "surinameGlobalNetwork": {
            "type": "object",
            "description": "Suriname Global Network account.",
            "$ref": "#/components/schemas/SurinameGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "surinameGlobalNetwork"
        ]
      },
      "SurinameGlobalNetworkAccount": {
        "type": "object",
        "title": "Suriname Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateSvalbardAndJanMayenGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Svalbard And Jan Mayen Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "svalbardAndJanMayenGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "svalbardAndJanMayenGlobalNetwork": {
            "type": "object",
            "description": "Svalbard And Jan Mayen Global Network account.",
            "$ref": "#/components/schemas/SvalbardAndJanMayenGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "svalbardAndJanMayenGlobalNetwork"
        ]
      },
      "CreateSvalbardAndJanMayenGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Svalbard And Jan Mayen Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "svalbardAndJanMayenGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "svalbardAndJanMayenGlobalNetwork": {
            "type": "object",
            "description": "Svalbard And Jan Mayen Global Network account.",
            "$ref": "#/components/schemas/SvalbardAndJanMayenGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "svalbardAndJanMayenGlobalNetwork"
        ]
      },
      "SvalbardAndJanMayenGlobalNetworkAccount": {
        "type": "object",
        "title": "Svalbard And Jan Mayen Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateTajikistanGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Tajikistan Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "tajikistanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "tajikistanGlobalNetwork": {
            "type": "object",
            "description": "Tajikistan Global Network account.",
            "$ref": "#/components/schemas/TajikistanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "tajikistanGlobalNetwork"
        ]
      },
      "CreateTajikistanGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Tajikistan Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "tajikistanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "tajikistanGlobalNetwork": {
            "type": "object",
            "description": "Tajikistan Global Network account.",
            "$ref": "#/components/schemas/TajikistanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "tajikistanGlobalNetwork"
        ]
      },
      "TajikistanGlobalNetworkAccount": {
        "type": "object",
        "title": "Tajikistan Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateTimorLesteGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Timor Leste Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "timorLesteGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "timorLesteGlobalNetwork": {
            "type": "object",
            "description": "Timor Leste Global Network account.",
            "$ref": "#/components/schemas/TimorLesteGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "timorLesteGlobalNetwork"
        ]
      },
      "CreateTimorLesteGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Timor Leste Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "timorLesteGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "timorLesteGlobalNetwork": {
            "type": "object",
            "description": "Timor Leste Global Network account.",
            "$ref": "#/components/schemas/TimorLesteGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "timorLesteGlobalNetwork"
        ]
      },
      "TimorLesteGlobalNetworkAccount": {
        "type": "object",
        "title": "Timor Leste Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateTogoGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Togo Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "togoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "togoGlobalNetwork": {
            "type": "object",
            "description": "Togo Global Network account.",
            "$ref": "#/components/schemas/TogoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "togoGlobalNetwork"
        ]
      },
      "CreateTogoGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Togo Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "togoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "togoGlobalNetwork": {
            "type": "object",
            "description": "Togo Global Network account.",
            "$ref": "#/components/schemas/TogoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "togoGlobalNetwork"
        ]
      },
      "TogoGlobalNetworkAccount": {
        "type": "object",
        "title": "Togo Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateTokelauGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Tokelau Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "tokelauGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "tokelauGlobalNetwork": {
            "type": "object",
            "description": "Tokelau Global Network account.",
            "$ref": "#/components/schemas/TokelauGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "tokelauGlobalNetwork"
        ]
      },
      "CreateTokelauGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Tokelau Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "tokelauGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "tokelauGlobalNetwork": {
            "type": "object",
            "description": "Tokelau Global Network account.",
            "$ref": "#/components/schemas/TokelauGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "tokelauGlobalNetwork"
        ]
      },
      "TokelauGlobalNetworkAccount": {
        "type": "object",
        "title": "Tokelau Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateTongaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Tonga Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "tongaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "tongaGlobalNetwork": {
            "type": "object",
            "description": "Tonga Global Network account.",
            "$ref": "#/components/schemas/TongaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "tongaGlobalNetwork"
        ]
      },
      "CreateTongaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Tonga Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "tongaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "tongaGlobalNetwork": {
            "type": "object",
            "description": "Tonga Global Network account.",
            "$ref": "#/components/schemas/TongaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "tongaGlobalNetwork"
        ]
      },
      "TongaGlobalNetworkAccount": {
        "type": "object",
        "title": "Tonga Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateTrinidadAndTobagoGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Trinidad And Tobago Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "trinidadAndTobagoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "trinidadAndTobagoGlobalNetwork": {
            "type": "object",
            "description": "Trinidad And Tobago Global Network account.",
            "$ref": "#/components/schemas/TrinidadAndTobagoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "trinidadAndTobagoGlobalNetwork"
        ]
      },
      "CreateTrinidadAndTobagoGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Trinidad And Tobago Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "trinidadAndTobagoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "trinidadAndTobagoGlobalNetwork": {
            "type": "object",
            "description": "Trinidad And Tobago Global Network account.",
            "$ref": "#/components/schemas/TrinidadAndTobagoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "trinidadAndTobagoGlobalNetwork"
        ]
      },
      "TrinidadAndTobagoGlobalNetworkAccount": {
        "type": "object",
        "title": "Trinidad And Tobago Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateTunisiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Tunisia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "tunisiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "tunisiaGlobalNetwork": {
            "type": "object",
            "description": "Tunisia Global Network account.",
            "$ref": "#/components/schemas/TunisiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "tunisiaGlobalNetwork"
        ]
      },
      "CreateTunisiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Tunisia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "tunisiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "tunisiaGlobalNetwork": {
            "type": "object",
            "description": "Tunisia Global Network account.",
            "$ref": "#/components/schemas/TunisiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "tunisiaGlobalNetwork"
        ]
      },
      "TunisiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Tunisia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateTurkmenistanGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Turkmenistan Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "turkmenistanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "turkmenistanGlobalNetwork": {
            "type": "object",
            "description": "Turkmenistan Global Network account.",
            "$ref": "#/components/schemas/TurkmenistanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "turkmenistanGlobalNetwork"
        ]
      },
      "CreateTurkmenistanGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Turkmenistan Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "turkmenistanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "turkmenistanGlobalNetwork": {
            "type": "object",
            "description": "Turkmenistan Global Network account.",
            "$ref": "#/components/schemas/TurkmenistanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "turkmenistanGlobalNetwork"
        ]
      },
      "TurkmenistanGlobalNetworkAccount": {
        "type": "object",
        "title": "Turkmenistan Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateTurksAndCaicosIslandsGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Turks And Caicos Islands Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "turksAndCaicosIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "turksAndCaicosIslandsGlobalNetwork": {
            "type": "object",
            "description": "Turks And Caicos Islands Global Network account.",
            "$ref": "#/components/schemas/TurksAndCaicosIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "turksAndCaicosIslandsGlobalNetwork"
        ]
      },
      "CreateTurksAndCaicosIslandsGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Turks And Caicos Islands Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "turksAndCaicosIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "turksAndCaicosIslandsGlobalNetwork": {
            "type": "object",
            "description": "Turks And Caicos Islands Global Network account.",
            "$ref": "#/components/schemas/TurksAndCaicosIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "turksAndCaicosIslandsGlobalNetwork"
        ]
      },
      "TurksAndCaicosIslandsGlobalNetworkAccount": {
        "type": "object",
        "title": "Turks And Caicos Islands Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateTuvaluGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Tuvalu Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "tuvaluGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "tuvaluGlobalNetwork": {
            "type": "object",
            "description": "Tuvalu Global Network account.",
            "$ref": "#/components/schemas/TuvaluGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "tuvaluGlobalNetwork"
        ]
      },
      "CreateTuvaluGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Tuvalu Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "tuvaluGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "tuvaluGlobalNetwork": {
            "type": "object",
            "description": "Tuvalu Global Network account.",
            "$ref": "#/components/schemas/TuvaluGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "tuvaluGlobalNetwork"
        ]
      },
      "TuvaluGlobalNetworkAccount": {
        "type": "object",
        "title": "Tuvalu Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateUsVirginIslandsGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Us Virgin Islands Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "usVirginIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "usVirginIslandsGlobalNetwork": {
            "type": "object",
            "description": "Us Virgin Islands Global Network account.",
            "$ref": "#/components/schemas/UsVirginIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "usVirginIslandsGlobalNetwork"
        ]
      },
      "CreateUsVirginIslandsGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Us Virgin Islands Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "usVirginIslandsGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "usVirginIslandsGlobalNetwork": {
            "type": "object",
            "description": "Us Virgin Islands Global Network account.",
            "$ref": "#/components/schemas/UsVirginIslandsGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "usVirginIslandsGlobalNetwork"
        ]
      },
      "UsVirginIslandsGlobalNetworkAccount": {
        "type": "object",
        "title": "Us Virgin Islands Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateUgandaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Uganda Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "ugandaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "ugandaGlobalNetwork": {
            "type": "object",
            "description": "Uganda Global Network account.",
            "$ref": "#/components/schemas/UgandaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "ugandaGlobalNetwork"
        ]
      },
      "CreateUgandaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Uganda Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "ugandaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "ugandaGlobalNetwork": {
            "type": "object",
            "description": "Uganda Global Network account.",
            "$ref": "#/components/schemas/UgandaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "ugandaGlobalNetwork"
        ]
      },
      "UgandaGlobalNetworkAccount": {
        "type": "object",
        "title": "Uganda Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateUzbekistanGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Uzbekistan Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "uzbekistanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "uzbekistanGlobalNetwork": {
            "type": "object",
            "description": "Uzbekistan Global Network account.",
            "$ref": "#/components/schemas/UzbekistanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "uzbekistanGlobalNetwork"
        ]
      },
      "CreateUzbekistanGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Uzbekistan Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "uzbekistanGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "uzbekistanGlobalNetwork": {
            "type": "object",
            "description": "Uzbekistan Global Network account.",
            "$ref": "#/components/schemas/UzbekistanGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "uzbekistanGlobalNetwork"
        ]
      },
      "UzbekistanGlobalNetworkAccount": {
        "type": "object",
        "title": "Uzbekistan Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateVanuatuGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Vanuatu Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "vanuatuGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "vanuatuGlobalNetwork": {
            "type": "object",
            "description": "Vanuatu Global Network account.",
            "$ref": "#/components/schemas/VanuatuGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "vanuatuGlobalNetwork"
        ]
      },
      "CreateVanuatuGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Vanuatu Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "vanuatuGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "vanuatuGlobalNetwork": {
            "type": "object",
            "description": "Vanuatu Global Network account.",
            "$ref": "#/components/schemas/VanuatuGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "vanuatuGlobalNetwork"
        ]
      },
      "VanuatuGlobalNetworkAccount": {
        "type": "object",
        "title": "Vanuatu Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateWallisAndFutunaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Wallis And Futuna Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "wallisAndFutunaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "wallisAndFutunaGlobalNetwork": {
            "type": "object",
            "description": "Wallis And Futuna Global Network account.",
            "$ref": "#/components/schemas/WallisAndFutunaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "wallisAndFutunaGlobalNetwork"
        ]
      },
      "CreateWallisAndFutunaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Wallis And Futuna Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "wallisAndFutunaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "wallisAndFutunaGlobalNetwork": {
            "type": "object",
            "description": "Wallis And Futuna Global Network account.",
            "$ref": "#/components/schemas/WallisAndFutunaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "wallisAndFutunaGlobalNetwork"
        ]
      },
      "WallisAndFutunaGlobalNetworkAccount": {
        "type": "object",
        "title": "Wallis And Futuna Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateWesternSaharaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Western Sahara Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "westernSaharaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "westernSaharaGlobalNetwork": {
            "type": "object",
            "description": "Western Sahara Global Network account.",
            "$ref": "#/components/schemas/WesternSaharaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "westernSaharaGlobalNetwork"
        ]
      },
      "CreateWesternSaharaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Western Sahara Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "westernSaharaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "westernSaharaGlobalNetwork": {
            "type": "object",
            "description": "Western Sahara Global Network account.",
            "$ref": "#/components/schemas/WesternSaharaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "westernSaharaGlobalNetwork"
        ]
      },
      "WesternSaharaGlobalNetworkAccount": {
        "type": "object",
        "title": "Western Sahara Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateZambiaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Zambia Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "zambiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "zambiaGlobalNetwork": {
            "type": "object",
            "description": "Zambia Global Network account.",
            "$ref": "#/components/schemas/ZambiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "zambiaGlobalNetwork"
        ]
      },
      "CreateZambiaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Zambia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "zambiaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "zambiaGlobalNetwork": {
            "type": "object",
            "description": "Zambia Global Network account.",
            "$ref": "#/components/schemas/ZambiaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "zambiaGlobalNetwork"
        ]
      },
      "ZambiaGlobalNetworkAccount": {
        "type": "object",
        "title": "Zambia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber",
          "swiftCode"
        ]
      },
      "CreateNigeriaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Nigeria Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "nigeriaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "nigeriaGlobalNetwork": {
            "type": "object",
            "description": "Nigeria Global Network account.",
            "$ref": "#/components/schemas/NigeriaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "nigeriaGlobalNetwork"
        ]
      },
      "CreateNigeriaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Nigeria Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "nigeriaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "nigeriaGlobalNetwork": {
            "type": "object",
            "description": "Nigeria Global Network account.",
            "$ref": "#/components/schemas/NigeriaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "nigeriaGlobalNetwork"
        ]
      },
      "CreateMexicoGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Mexico Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "mexicoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "mexicoGlobalNetwork": {
            "type": "object",
            "description": "Mexico Global Network account.",
            "$ref": "#/components/schemas/MexicoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "mexicoGlobalNetwork"
        ]
      },
      "CreateMexicoGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Mexico Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "mexicoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "mexicoGlobalNetwork": {
            "type": "object",
            "description": "Mexico Global Network account.",
            "$ref": "#/components/schemas/MexicoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "mexicoGlobalNetwork"
        ]
      },
      "CreateHongKongGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Hong Kong Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "hongKongGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "hongKongGlobalNetwork": {
            "type": "object",
            "description": "Hong Kong Global Network account.",
            "$ref": "#/components/schemas/HongKongGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "hongKongGlobalNetwork"
        ]
      },
      "CreateHongKongGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Hong Kong Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "hongKongGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "hongKongGlobalNetwork": {
            "type": "object",
            "description": "Hong Kong Global Network account.",
            "$ref": "#/components/schemas/HongKongGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "hongKongGlobalNetwork"
        ]
      },
      "HongKongGlobalNetworkAccount": {
        "type": "object",
        "title": "Hong Kong Global Network Account",
        "description": "For transferType `swift`, bankName, accountNumber, and swiftCode are required.\nFor transferType `chats`, bankCode, accountNumber, swiftCode, and bankName are required.\nFor transferType `fps`, at least one of fpsId, accountNumber, or accountHolder email/phone is required.\nUSD CHATS (currency `usd` with transferType `chats`) is only available to business account holders.\n",
        "properties": {
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "BIC/SWIFT code for the bank"
          },
          "currency": {
            "type": "string",
            "enum": [
              "hkd",
              "usd"
            ],
            "description": "The currency for the account"
          },
          "bankCode": {
            "type": "string",
            "description": "Bank code. Required when transferType is chats.\nMust be either an IFSC code (4 letters + \"0\" + 6 alphanumeric characters) or a Hong Kong bank code (3 digits).\n"
          },
          "fpsId": {
            "type": "string",
            "description": "FPS (Faster Payment System) identifier. Used when transferType is fps; for fps at least one of fpsId, accountNumber, or accountHolder email/phone is required."
          },
          "transferType": {
            "type": "string",
            "enum": [
              "chats",
              "fps",
              "swift"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided."
          }
        },
        "required": [
          "currency"
        ]
      },
      "CreateChinaGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "China Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "chinaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "chinaGlobalNetwork": {
            "type": "object",
            "description": "China Global Network account.",
            "$ref": "#/components/schemas/ChinaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "chinaGlobalNetwork"
        ]
      },
      "CreateChinaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "China Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "chinaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "chinaGlobalNetwork": {
            "type": "object",
            "description": "China Global Network account.",
            "$ref": "#/components/schemas/ChinaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "chinaGlobalNetwork"
        ]
      },
      "ChinaGlobalNetworkAccount": {
        "type": "object",
        "title": "China Global Network Account",
        "description": "For transferType `cips`, currency must be `cny`.\n",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "swift",
              "cips"
            ],
            "description": "Transfer type of the account. `swift` is the default transfer type if not provided. Use `cips` for CNY transfers."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "BIC/SWIFT code for the bank"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "cny"
            ],
            "description": "The currency for the account. Must be `cny` when transferType is `cips`."
          }
        },
        "required": [
          "currency",
          "bankName",
          "swiftCode",
          "accountNumber"
        ]
      },
      "CreateSingaporeGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Singapore Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "singaporeGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "singaporeGlobalNetwork": {
            "type": "object",
            "description": "Singapore Global Network account.",
            "$ref": "#/components/schemas/SingaporeGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "singaporeGlobalNetwork"
        ]
      },
      "CreateSingaporeGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Singapore Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "singaporeGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "singaporeGlobalNetwork": {
            "type": "object",
            "description": "Singapore Global Network account.",
            "$ref": "#/components/schemas/SingaporeGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "singaporeGlobalNetwork"
        ]
      },
      "SingaporeGlobalNetworkAccount": {
        "type": "object",
        "title": "Singapore Global Network Account",
        "description": "For SGD, only transferType `bank` is allowed. For USD, only transferType `swift` is allowed.\n",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "bank",
              "swift"
            ],
            "description": "Transfer type of the account. `bank` is the default for SGD; `swift` is the default for USD."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "BIC/SWIFT code for the bank"
          },
          "currency": {
            "type": "string",
            "enum": [
              "sgd",
              "usd"
            ],
            "description": "The currency for the account. SGD allows only `bank`; USD allows only `swift`."
          }
        },
        "required": [
          "currency",
          "bankName",
          "swiftCode",
          "accountNumber"
        ]
      },
      "MexicoGlobalNetworkAccount": {
        "type": "object",
        "title": "Mexico Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "spei"
            ],
            "description": "Transfer type of the account. `spei` is the default transfer type if not provided."
          },
          "speiClabe": {
            "type": "string",
            "description": "SPEI CLABE number for the account"
          },
          "currency": {
            "type": "string",
            "enum": [
              "mxn"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType"
        ]
      },
      "NigeriaGlobalNetworkAccount": {
        "type": "object",
        "title": "Nigeria Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "bank",
              "swift"
            ],
            "description": "Transfer type of the account. `bank` is the default transfer type if not provided."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Swift code, only required when transferType is swift."
          },
          "currency": {
            "type": "string",
            "enum": [
              "ngn",
              "usd"
            ],
            "description": "The currency for the account"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "accountNumber"
        ]
      },
      "CreatePhilippinesGlobalNetworkAccountIndividual": {
        "type": "object",
        "title": "Philippines Global Network Individual Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "philippinesGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkIndividualAccountHolder"
          },
          "philippinesGlobalNetwork": {
            "type": "object",
            "description": "Philippines Global Network account.",
            "$ref": "#/components/schemas/PhilippinesGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "philippinesGlobalNetwork"
        ]
      },
      "CreatePhilippinesGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Philippines Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "philippinesGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "philippinesGlobalNetwork": {
            "type": "object",
            "description": "Philippines Global Network account.",
            "$ref": "#/components/schemas/PhilippinesGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "philippinesGlobalNetwork"
        ]
      },
      "PhilippinesGlobalNetworkAccount": {
        "type": "object",
        "title": "Philippines Global Network Account",
        "description": "For PHP, transferType must be `instapay` or `pesonet`. For USD, transferType must be `swift` (swiftCode required).\n`instapay` is the default transfer type when currency is `php`.\n",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "instapay",
              "pesonet",
              "swift"
            ],
            "description": "Transfer type of the account. `instapay` is the default for PHP; `swift` is the default for USD."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account. Must be from the accepted list for the given transferType."
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Swift code. Required when transferType is `swift`."
          },
          "currency": {
            "type": "string",
            "enum": [
              "php",
              "usd"
            ],
            "description": "The currency for the account. PHP allows `instapay` or `pesonet`; USD allows only `swift`."
          }
        },
        "required": [
          "currency",
          "bankName",
          "accountNumber"
        ]
      },
      "CreateAndorraGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Andorra Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "andorraGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "andorraGlobalNetwork": {
            "type": "object",
            "description": "Andorra Global Network account.",
            "$ref": "#/components/schemas/AndorraGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "andorraGlobalNetwork"
        ]
      },
      "AndorraGlobalNetworkAccount": {
        "type": "object",
        "title": "Andorra Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "sepa"
            ],
            "description": "Transfer type of the account. Only `sepa` (EUR) is supported."
          },
          "currency": {
            "type": "string",
            "enum": [
              "eur"
            ],
            "description": "The currency for the account."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateAlbaniaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Albania Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "albaniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "albaniaGlobalNetwork": {
            "type": "object",
            "description": "Albania Global Network account.",
            "$ref": "#/components/schemas/AlbaniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "albaniaGlobalNetwork"
        ]
      },
      "AlbaniaGlobalNetworkAccount": {
        "type": "object",
        "title": "Albania Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "sepa"
            ],
            "description": "Transfer type of the account. Only `sepa` (EUR) is supported."
          },
          "currency": {
            "type": "string",
            "enum": [
              "eur"
            ],
            "description": "The currency for the account."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSwitzerlandGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Switzerland Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "switzerlandGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "switzerlandGlobalNetwork": {
            "type": "object",
            "description": "Switzerland Global Network account.",
            "$ref": "#/components/schemas/SwitzerlandGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "switzerlandGlobalNetwork"
        ]
      },
      "SwitzerlandGlobalNetworkAccount": {
        "type": "object",
        "title": "Switzerland Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "sepa"
            ],
            "description": "Transfer type of the account. Only `sepa` (EUR) is supported."
          },
          "currency": {
            "type": "string",
            "enum": [
              "eur"
            ],
            "description": "The currency for the account."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateMonacoGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Monaco Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "monacoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "monacoGlobalNetwork": {
            "type": "object",
            "description": "Monaco Global Network account.",
            "$ref": "#/components/schemas/MonacoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "monacoGlobalNetwork"
        ]
      },
      "MonacoGlobalNetworkAccount": {
        "type": "object",
        "title": "Monaco Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "sepa"
            ],
            "description": "Transfer type of the account. Only `sepa` (EUR) is supported."
          },
          "currency": {
            "type": "string",
            "enum": [
              "eur"
            ],
            "description": "The currency for the account."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateMoldovaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Moldova Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "moldovaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "moldovaGlobalNetwork": {
            "type": "object",
            "description": "Moldova Global Network account.",
            "$ref": "#/components/schemas/MoldovaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "moldovaGlobalNetwork"
        ]
      },
      "MoldovaGlobalNetworkAccount": {
        "type": "object",
        "title": "Moldova Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "sepa"
            ],
            "description": "Transfer type of the account. Only `sepa` (EUR) is supported."
          },
          "currency": {
            "type": "string",
            "enum": [
              "eur"
            ],
            "description": "The currency for the account."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateMontenegroGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Montenegro Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "montenegroGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "montenegroGlobalNetwork": {
            "type": "object",
            "description": "Montenegro Global Network account.",
            "$ref": "#/components/schemas/MontenegroGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "montenegroGlobalNetwork"
        ]
      },
      "MontenegroGlobalNetworkAccount": {
        "type": "object",
        "title": "Montenegro Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "sepa"
            ],
            "description": "Transfer type of the account. Only `sepa` (EUR) is supported."
          },
          "currency": {
            "type": "string",
            "enum": [
              "eur"
            ],
            "description": "The currency for the account."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateNorthMacedoniaGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "North Macedonia Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "northMacedoniaGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "northMacedoniaGlobalNetwork": {
            "type": "object",
            "description": "North Macedonia Global Network account.",
            "$ref": "#/components/schemas/NorthMacedoniaGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "northMacedoniaGlobalNetwork"
        ]
      },
      "NorthMacedoniaGlobalNetworkAccount": {
        "type": "object",
        "title": "North Macedonia Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "sepa"
            ],
            "description": "Transfer type of the account. Only `sepa` (EUR) is supported."
          },
          "currency": {
            "type": "string",
            "enum": [
              "eur"
            ],
            "description": "The currency for the account."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateSanMarinoGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "San Marino Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "sanMarinoGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "sanMarinoGlobalNetwork": {
            "type": "object",
            "description": "San Marino Global Network account.",
            "$ref": "#/components/schemas/SanMarinoGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "sanMarinoGlobalNetwork"
        ]
      },
      "SanMarinoGlobalNetworkAccount": {
        "type": "object",
        "title": "San Marino Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "sepa"
            ],
            "description": "Transfer type of the account. Only `sepa` (EUR) is supported."
          },
          "currency": {
            "type": "string",
            "enum": [
              "eur"
            ],
            "description": "The currency for the account."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateVaticanCityGlobalNetworkAccountBusiness": {
        "type": "object",
        "title": "Vatican City Global Network Business Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "vaticanCityGlobalNetwork"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/GlobalNetworkBusinessAccountHolder"
          },
          "vaticanCityGlobalNetwork": {
            "type": "object",
            "description": "Vatican City Global Network account.",
            "$ref": "#/components/schemas/VaticanCityGlobalNetworkAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "vaticanCityGlobalNetwork"
        ]
      },
      "VaticanCityGlobalNetworkAccount": {
        "type": "object",
        "title": "Vatican City Global Network Account",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "sepa"
            ],
            "description": "Transfer type of the account. Only `sepa` (EUR) is supported."
          },
          "currency": {
            "type": "string",
            "enum": [
              "eur"
            ],
            "description": "The currency for the account."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name for the account"
          },
          "iban": {
            "type": "string",
            "description": "IBAN number"
          },
          "swiftCode": {
            "type": "string",
            "description": "Bank code"
          }
        },
        "required": [
          "currency",
          "transferType",
          "bankName",
          "iban",
          "swiftCode"
        ]
      },
      "CreateColombiaAccount": {
        "type": "object",
        "title": "Colombia Offramp Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "colombia"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/ColombiaAccountHolder"
          },
          "colombia": {
            "type": "object",
            "description": "Colombia account.",
            "$ref": "#/components/schemas/ColombiaAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "colombia"
        ]
      },
      "CreateArgentinaAccount": {
        "type": "object",
        "title": "Argentina Offramp Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "argentina"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/AccountHolder"
          },
          "argentina": {
            "type": "object",
            "description": "Argentina account.",
            "$ref": "#/components/schemas/ArgentinaAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "argentina"
        ]
      },
      "CreateMexicoAccount": {
        "type": "object",
        "title": "Mexico Offramp Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "mexico"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/AccountHolder"
          },
          "mexico": {
            "type": "object",
            "description": "Mexico account.",
            "$ref": "#/components/schemas/MexicoAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "mexico"
        ]
      },
      "CreateAfricaOnrampAccount": {
        "type": "object",
        "title": "Africa Onramp Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "onramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "africa"
            ]
          },
          "africa": {
            "type": "object",
            "description": "Africa account.",
            "$ref": "#/components/schemas/AfricaAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "africa"
        ]
      },
      "CreateAfricaOfframpAccount": {
        "type": "object",
        "title": "Africa Offramp Account",
        "properties": {
          "rail": {
            "type": "string",
            "enum": [
              "offramp"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of account to create. The value of this field should match the acount info object field submitted. eg. if the type is `us`, only the `us` account object should be filled.\n",
            "enum": [
              "africa"
            ]
          },
          "accountHolder": {
            "type": "object",
            "description": "account holder information.",
            "$ref": "#/components/schemas/AfricaAccountHolder"
          },
          "africa": {
            "type": "object",
            "description": "Africa account.",
            "$ref": "#/components/schemas/AfricaAccount"
          }
        },
        "required": [
          "rail",
          "type",
          "accountHolder",
          "africa"
        ]
      },
      "UsAccountHolder": {
        "type": "object",
        "title": "Account Holder",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "individual",
              "business"
            ]
          },
          "name": {
            "type": "string",
            "description": "The name of the account holder.\n`individual`: first name and last name seperated by space.\n`business`: legal name of the business.\n"
          },
          "address": {
            "type": "object",
            "description": "Address of the accountHolder.",
            "$ref": "#/components/schemas/Address"
          },
          "isFintech": {
            "type": "boolean",
            "description": "Whether the business account is a fintech."
          }
        },
        "required": [
          "type",
          "name",
          "address"
        ]
      },
      "ColombiaAccountHolder": {
        "type": "object",
        "title": "Account Holder",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "individual",
              "business"
            ]
          },
          "name": {
            "type": "string",
            "description": "The name of the account holder.\n`individual`: first name and last name seperated by space.\n`business`: legal name of the business.\n"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "type": "string"
          },
          "address": {
            "type": "object",
            "description": "Address of the accountHolder.",
            "$ref": "#/components/schemas/Address"
          },
          "idType": {
            "type": "string",
            "enum": [
              "CC",
              "CE",
              "NIT",
              "PASS",
              "PEP"
            ],
            "description": "The type of ID document provided by the account holder.\n`CC`: Citizenship ID\n`CE`: Foreign ID\n`NIT`: National ID\n`PASS`: Passport\n`PEP`: Special Stay Permit\n"
          },
          "idNumber": {
            "type": "string",
            "description": "The ID number of the account holder.\n"
          },
          "isFintech": {
            "type": "boolean",
            "description": "Whether the business account is a fintech."
          }
        },
        "required": [
          "type",
          "name",
          "email",
          "idType",
          "idNumber"
        ]
      },
      "AfricaAccountHolder": {
        "type": "object",
        "title": "Account Holder",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "individual",
              "business"
            ]
          },
          "name": {
            "type": "string",
            "description": "The name of the account holder.\n`individual`: first name and last name seperated by space.\n`business`: legal name of the business.\n"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "type": "string"
          },
          "address": {
            "type": "object",
            "description": "Address of the accountHolder.",
            "$ref": "#/components/schemas/Address"
          },
          "idType": {
            "type": "string",
            "enum": [
              "CC",
              "CE",
              "NIT",
              "PASS",
              "PEP"
            ],
            "description": "The type of ID document provided by the account holder.\n`CC`: Citizenship ID\n`CE`: Foreign ID\n`NIT`: National ID\n`PASS`: Passport\n`PEP`: Special Stay Permit\n"
          },
          "idNumber": {
            "type": "string",
            "description": "The ID number of the account holder.\n"
          },
          "isFintech": {
            "type": "boolean",
            "description": "Whether the business account is a fintech."
          }
        },
        "required": [
          "type",
          "name",
          "phone"
        ]
      },
      "AccountHolder": {
        "type": "object",
        "title": "Account Holder",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "individual",
              "business"
            ]
          },
          "name": {
            "type": "string",
            "description": "The name of the account holder.\n`individual`: first name and last name seperated by space.\n`business`: legal name of the business.\n"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "type": "string"
          },
          "address": {
            "type": "object",
            "description": "Address of the accountHolder.",
            "$ref": "#/components/schemas/Address"
          },
          "idType": {
            "type": "string",
            "enum": [
              "CC",
              "CE",
              "NIT",
              "PASS",
              "PEP"
            ],
            "description": "The type of ID document provided by the account holder.\n`CC`: Citizenship ID\n`CE`: Foreign ID\n`NIT`: National ID\n`PASS`: Passport\n`PEP`: Special Stay Permit\n"
          },
          "idNumber": {
            "type": "string",
            "description": "The ID number of the account holder.\n"
          },
          "isFintech": {
            "type": "boolean",
            "description": "Whether the business account is a fintech."
          }
        },
        "required": [
          "type",
          "name"
        ]
      },
      "GlobalNetworkIndividualAccountHolder": {
        "type": "object",
        "description": "account holder information.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Full name of the account holder"
          },
          "type": {
            "type": "string",
            "enum": [
              "individual"
            ],
            "description": "Type of account holder"
          },
          "address": {
            "type": "object",
            "properties": {
              "city": {
                "type": "string"
              },
              "country": {
                "type": "string"
              },
              "postalCode": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string"
              },
              "addressLine2": {
                "type": "string"
              },
              "stateProvinceRegion": {
                "type": "string"
              }
            },
            "required": [
              "city",
              "country",
              "postalCode",
              "addressLine1",
              "stateProvinceRegion"
            ]
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date",
            "description": "Date of birth in YYYY-MM-DD format"
          },
          "idNumber": {
            "type": "string",
            "description": "Government issued ID number"
          },
          "nationality": {
            "type": "string",
            "description": "Three-letter country code (ISO 3166-1 alpha-3)"
          }
        },
        "required": [
          "name",
          "type",
          "address"
        ]
      },
      "GlobalNetworkBusinessAccountHolder": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Business name"
          },
          "type": {
            "type": "string",
            "enum": [
              "business"
            ]
          },
          "address": {
            "type": "object",
            "properties": {
              "city": {
                "type": "string"
              },
              "country": {
                "type": "string"
              },
              "postalCode": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string"
              },
              "addressLine2": {
                "type": "string"
              },
              "stateProvinceRegion": {
                "type": "string"
              }
            },
            "required": [
              "city",
              "country",
              "postalCode",
              "addressLine1",
              "stateProvinceRegion"
            ]
          },
          "formationDate": {
            "type": "string",
            "format": "date",
            "description": "Formation date in YYYY-MM-DD format"
          },
          "idNumber": {
            "type": "string",
            "description": "Government issued ID number"
          },
          "isFintech": {
            "type": "boolean",
            "description": "Whether the business account is a fintech."
          }
        },
        "required": [
          "name",
          "type",
          "address"
        ]
      },
      "ColombiaGlobalNetworkIndividualAccountHolder": {
        "type": "object",
        "description": "Account holder information. For `bank` transfer type, `idNumber` and `phone` are also required.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Full name of the account holder"
          },
          "type": {
            "type": "string",
            "enum": [
              "individual"
            ],
            "description": "Type of account holder"
          },
          "address": {
            "type": "object",
            "properties": {
              "city": {
                "type": "string"
              },
              "country": {
                "type": "string"
              },
              "postalCode": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string"
              },
              "addressLine2": {
                "type": "string"
              },
              "stateProvinceRegion": {
                "type": "string"
              }
            },
            "required": [
              "city",
              "country",
              "postalCode",
              "addressLine1",
              "stateProvinceRegion"
            ]
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date",
            "description": "Date of birth in YYYY-MM-DD format"
          },
          "idNumber": {
            "type": "string",
            "description": "Government issued ID number (digits only). Required for `bank` transfer type."
          },
          "nationality": {
            "type": "string",
            "description": "Three-letter country code (ISO 3166-1 alpha-3)"
          },
          "phone": {
            "type": "string",
            "description": "Phone number in E164 format. Required for `bank` transfer type."
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "Email address of the account holder."
          }
        },
        "required": [
          "name",
          "type",
          "address"
        ]
      },
      "ColombiaGlobalNetworkBusinessAccountHolder": {
        "type": "object",
        "description": "Account holder information. For `bank` transfer type, `idNumber` and `phone` are also required.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Business name"
          },
          "type": {
            "type": "string",
            "enum": [
              "business"
            ]
          },
          "address": {
            "type": "object",
            "properties": {
              "city": {
                "type": "string"
              },
              "country": {
                "type": "string"
              },
              "postalCode": {
                "type": "string"
              },
              "addressLine1": {
                "type": "string"
              },
              "addressLine2": {
                "type": "string"
              },
              "stateProvinceRegion": {
                "type": "string"
              }
            },
            "required": [
              "city",
              "country",
              "postalCode",
              "addressLine1",
              "stateProvinceRegion"
            ]
          },
          "formationDate": {
            "type": "string",
            "format": "date",
            "description": "Formation date in YYYY-MM-DD format"
          },
          "idNumber": {
            "type": "string",
            "description": "Government issued ID number. Required for `bank` transfer type."
          },
          "isFintech": {
            "type": "boolean",
            "description": "Whether the business account is a fintech."
          },
          "phone": {
            "type": "string",
            "description": "Phone number in E164 format. Required for `bank` transfer type."
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "Email address of the business."
          }
        },
        "required": [
          "name",
          "type",
          "address"
        ]
      },
      "UsAccount": {
        "type": "object",
        "title": "Account Info",
        "properties": {
          "transferType": {
            "type": "string",
            "enum": [
              "ach",
              "wire",
              "swift",
              "rtp"
            ],
            "description": "The type of transfer this account facilitates.\n"
          },
          "accountType": {
            "type": "string",
            "enum": [
              "Checking",
              "Savings"
            ],
            "description": "The type of account.\n"
          },
          "accountNumber": {
            "type": "string",
            "description": "The account number of the account.\n"
          },
          "routingNumber": {
            "type": "string",
            "description": "The routing number of the account.\n"
          },
          "iban": {
            "type": "string",
            "description": "Only one of `accountNumber` or `iban` can be provided.\n"
          },
          "swiftCode": {
            "type": "string",
            "description": "The SWIFT code of the bank where the account is held. Required if `transferType` is `swift`.\n"
          },
          "bankName": {
            "type": "string",
            "description": "The name of the bank where the account is held.\n"
          },
          "bankAddress": {
            "type": "object",
            "description": "Address of the bank.",
            "$ref": "#/components/schemas/Address"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "The currency of the account.\n"
          }
        },
        "required": [
          "transferType",
          "accountType",
          "bankName",
          "currency"
        ]
      },
      "BrazilAccount": {
        "type": "object",
        "title": "Account Info",
        "properties": {
          "pixKey": {
            "type": "string",
            "description": "The PIX key of the account.\n"
          },
          "currency": {
            "type": "string",
            "enum": [
              "brl"
            ],
            "description": "The currency of the account.\n"
          }
        },
        "required": [
          "pixKey",
          "currency"
        ]
      },
      "ColombiaAccount": {
        "type": "object",
        "title": "Account Info",
        "properties": {
          "bankName": {
            "type": "string",
            "description": "The name of the bank where the account is held. Required if `bankCode` is not provided.\n",
            "enum": [
              "MOVII",
              "Banco de Bogotá",
              "Banco Popular",
              "Banco Corpbanca ITAU",
              "Bancolombia",
              "Citibank",
              "Banco GNB Sudameris",
              "BBVA",
              "ITAU",
              "Scotiabank Colpatria",
              "Banco de Occidente",
              "Bancoldex",
              "Banco Caja Social",
              "Banco Agrario",
              "Jpmorgan Corporacion Financier",
              "BNP PARIBAS",
              "Davivienda",
              "Banco AVVillas",
              "Banco W",
              "Banco Procredit Colombia",
              "Bancamia",
              "Inversora Pichincha S.A.",
              "Bancoomeva",
              "Banco Falabella S.A.",
              "Banco Finandina S.A.",
              "Banco Santander Negocios",
              "Banco Cooperativo Coopcentral",
              "Serfinanza S.A",
              "LULO BANK SA",
              "Banco JP Morgan",
              "Compensar",
              "Gestion y Contacto S.A.",
              "Fedecajas",
              "Simple S.A.",
              "Enlace Operativo",
              "Corp. Financiera Colombiana",
              "Financiera Juriscoop",
              "Rappi",
              "Coop. Financiera de Antioquia",
              "Cotrafa Cooperativa Financiera",
              "Confiar Cooperativa Financiera",
              "Giros y Finanzas",
              "COLTEFINANCIERA",
              "Banco OLD Mutual",
              "NEQUI",
              "DECEVAL",
              "Daviplata",
              "Banco Credifinanciera",
              "Financiera Dann (IRIS)",
              "DGCPTN"
            ]
          },
          "bankCode": {
            "type": "string",
            "description": "The bank code of the bank where the account is held. Required if `bankName` is not provided. If provided, this will take precedence over `bankName`.\n"
          },
          "accountNumber": {
            "type": "string",
            "description": "The account number of the account.\n"
          },
          "accountType": {
            "type": "string",
            "enum": [
              "checking",
              "savings"
            ],
            "description": "The type of account.\n"
          },
          "currency": {
            "type": "string",
            "enum": [
              "cop"
            ],
            "description": "The currency of the account.\n"
          }
        },
        "required": [
          "accountNumber",
          "accountType",
          "currency"
        ]
      },
      "MexicoAccount": {
        "type": "object",
        "title": "Account Info",
        "properties": {
          "speiProtocol": {
            "type": "string",
            "enum": [
              "clabe",
              "debitcard",
              "phonenum"
            ],
            "description": "The SPEI protocol of the account.\n"
          },
          "speiInstitutionCode": {
            "type": "string",
            "description": "The institution code of the account. Required only if `speiProtocol` is `debitcard` or `phonenum`.\n"
          },
          "speiClabe": {
            "type": "string"
          },
          "currency": {
            "type": "string",
            "enum": [
              "mxn"
            ],
            "description": "The currency of the account.\n"
          }
        },
        "required": [
          "speiProtocol",
          "speiClabe",
          "currency"
        ]
      },
      "ArgentinaAccount": {
        "type": "object",
        "title": "Account Info",
        "properties": {
          "accountType": {
            "type": "string",
            "enum": [
              "CVU",
              "CBU",
              "ALIAS"
            ],
            "description": "The type of account.\n"
          },
          "accountNumber": {
            "type": "string",
            "description": "The account number of the account.\n"
          },
          "currency": {
            "type": "string",
            "enum": [
              "ars"
            ],
            "description": "The currency of the account.\n"
          }
        },
        "required": [
          "accountType",
          "accountNumber",
          "currency"
        ]
      },
      "AfricaAccount": {
        "type": "object",
        "title": "Account Info",
        "properties": {
          "financialInstitute": {
            "type": "string",
            "description": "The financial institute of the account. Financial institue type has to match the accountType. eg. accountType of bank requires financialInstitute of bank.\nLook at the list of supported combination of `country`, `currency`, and `financialInstitute` [here](https://docs.google.com/spreadsheets/d/1QxAWGoZMznB6_Ts4mzFcFD49ZOMUZNdNiR6wlr8NDL0/edit?gid=293141391#gid=293141391).\nMake sure the `financialInstitute` enum is supported under the `country` and `currency`.\n"
          },
          "accountType": {
            "type": "string",
            "enum": [
              "momo",
              "bank"
            ],
            "description": "The type of account.\n"
          },
          "accountNumber": {
            "type": "string",
            "description": "The account number of the account. Not required for `rail`: \"onramp\" with `accountType`: \"bank\". Required otherwise.\n"
          },
          "currency": {
            "type": "string",
            "description": "The currency of the account.\nLook at the list of supported combination of `country`, `currency`, and `financialInstitute` [here](https://docs.google.com/spreadsheets/d/1QxAWGoZMznB6_Ts4mzFcFD49ZOMUZNdNiR6wlr8NDL0/edit?gid=293141391#gid=293141391).\nMake sure the `currency` enum is supported under the `country` and `financialInstitute`.\n"
          },
          "country": {
            "type": "string",
            "description": "The country code of the account.\nLook at the list of supported combination of `country`, `currency`, and `financialInstitute` [here](https://docs.google.com/spreadsheets/d/1QxAWGoZMznB6_Ts4mzFcFD49ZOMUZNdNiR6wlr8NDL0/edit?gid=293141391#gid=293141391).\nMake sure the `country` enum is supported under the `currency` and `financialInstitute`.\n"
          }
        },
        "required": [
          "financialInstitute",
          "accountType",
          "currency",
          "country"
        ]
      },
      "InboundObject": {
        "type": "object",
        "properties": {
          "bankName": {
            "type": "string",
            "nullable": true
          },
          "senderName": {
            "type": "string",
            "nullable": true
          },
          "routingNumber": {
            "type": "string",
            "nullable": true
          },
          "accountNumber": {
            "type": "string",
            "nullable": true
          },
          "accountType": {
            "type": "string",
            "nullable": true,
            "description": "ACH field. `null` when the inbound payment did not carry it."
          },
          "fedBatchId": {
            "type": "string",
            "nullable": true,
            "description": "ACH field. `null` when the inbound payment did not carry it."
          },
          "imad": {
            "type": "string",
            "nullable": true,
            "description": "Fedwire input message identifier. `null` when the inbound payment did not carry it."
          },
          "omad": {
            "type": "string",
            "nullable": true,
            "description": "Fedwire output message identifier. `null` when the inbound payment did not carry it."
          },
          "traceNumber": {
            "type": "string",
            "nullable": true,
            "description": "Trace number for the inbound payment. `null` when the payment did not carry one."
          },
          "bankAddress": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "references": {
            "type": "object",
            "nullable": true,
            "description": "Remittance and reference information supplied by the sender. `null` when the payment carried none.",
            "properties": {
              "senderReference": {
                "type": "string",
                "nullable": true
              },
              "beneficiaryReference": {
                "type": "string",
                "nullable": true
              },
              "remittance": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "paymentRail": {
            "type": "string",
            "enum": [
              "ach",
              "wire",
              "rtp"
            ],
            "nullable": true
          }
        }
      },
      "CreateVirtualAccount": {
        "type": "object",
        "title": "Create Virtual Account",
        "description": "Create a virtual account and optionally configure its automatic USDT\nonramp conversion-fee threshold.\n",
        "properties": {
          "sourceCurrency": {
            "type": "string",
            "enum": [
              "usd"
            ]
          },
          "destinationCurrency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt",
              "usdg",
              "pyusd"
            ]
          },
          "destinationChain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "ETHEREUM",
              "SOLANA",
              "BASE",
              "TRON"
            ],
            "description": "Either `externalWalletId` or `destinationChain` must be provided. If provided, the token will be delivered to user's HIFI wallet on the destination chain.\n"
          },
          "externalWalletId": {
            "type": "string",
            "description": "Either `externalWalletId` or `destinationChain` must be provided.\n"
          },
          "maxBps": {
            "oneOf": [
              {
                "type": "integer",
                "nullable": true,
                "minimum": 0,
                "maximum": 10000
              },
              {
                "type": "string",
                "pattern": "^0*(?:[0-9]{1,4}|10000)$"
              }
            ],
            "description": "Maximum USDT conversion fee, supplied as an integer or decimal-integer\nstring representing 0 through 10,000 basis points, allowed for automatic\nonramps through this virtual account. Omit or use `null` to leave the\nthreshold disabled.\n"
          },
          "transferType": {
            "type": "string",
            "enum": [
              "ach",
              "wire"
            ]
          }
        },
        "required": [
          "sourceCurrency",
          "destinationCurrency"
        ]
      },
      "UpdateVirtualAccount": {
        "type": "object",
        "title": "Update Virtual Account",
        "description": "Update the virtual account's destination routing, its automatic USDT onramp\nconversion-fee threshold, or both. `maxBps` may be sent by itself.\n",
        "properties": {
          "sourceCurrency": {
            "type": "string",
            "enum": [
              "usd"
            ]
          },
          "destinationCurrency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt",
              "usdg",
              "pyusd"
            ]
          },
          "destinationChain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "ETHEREUM",
              "SOLANA",
              "BASE",
              "TRON"
            ],
            "description": "Either `externalWalletId` or `destinationChain` must be provided. If provided, the token will be delivered to user's HIFI wallet on the destination chain.\n"
          },
          "externalWalletId": {
            "type": "string",
            "description": "Either `externalWalletId` or `destinationChain` must be provided.\n"
          },
          "maxBps": {
            "oneOf": [
              {
                "type": "integer",
                "nullable": true,
                "minimum": 0,
                "maximum": 10000
              },
              {
                "type": "string",
                "pattern": "^0*(?:[0-9]{1,4}|10000)$"
              }
            ],
            "description": "Maximum USDT conversion fee, supplied as an integer or decimal-integer\nstring representing 0 through 10,000 basis points, allowed for automatic\nonramps through this virtual account. Omit to preserve the current value;\nuse `null` to disable the threshold.\n"
          }
        },
        "oneOf": [
          {
            "title": "Update conversion-fee threshold only",
            "required": [
              "maxBps"
            ],
            "not": {
              "anyOf": [
                {
                  "required": [
                    "sourceCurrency"
                  ]
                },
                {
                  "required": [
                    "destinationCurrency"
                  ]
                },
                {
                  "required": [
                    "destinationChain"
                  ]
                },
                {
                  "required": [
                    "externalWalletId"
                  ]
                }
              ]
            }
          },
          {
            "title": "Update destination routing",
            "required": [
              "sourceCurrency",
              "destinationCurrency"
            ],
            "oneOf": [
              {
                "required": [
                  "destinationChain"
                ]
              },
              {
                "required": [
                  "externalWalletId"
                ]
              }
            ]
          }
        ]
      },
      "CreateVirtualAccountObject": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "accountInfo": {
            "$ref": "#/components/schemas/VirtualAccountObject"
          }
        }
      },
      "VirtualAccountObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "source": {
            "type": "object",
            "properties": {
              "paymentRail": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "currency": {
                "type": "string"
              }
            }
          },
          "destination": {
            "type": "object",
            "properties": {
              "chain": {
                "type": "string"
              },
              "currency": {
                "type": "string"
              },
              "walletAddress": {
                "type": "string"
              },
              "externalWalletId": {
                "type": "string"
              }
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "activated",
              "deactivated"
            ]
          },
          "maxBps": {
            "type": "integer",
            "nullable": true,
            "minimum": 0,
            "maximum": 10000,
            "description": "Maximum USDT conversion fee, as a whole number of basis points from\n0 through 10,000, allowed for automatic onramps through this virtual\naccount. `null` means disabled.\n"
          },
          "microDeposits": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer"
              },
              "data": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "currency": {
                      "type": "string"
                    },
                    "amount": {
                      "type": "string",
                      "description": "Amount received, in dollars as a decimal string (for example `\"0.71\"`). Not cents.",
                      "example": "0.71"
                    },
                    "sourceBankInfo": {
                      "$ref": "#/components/schemas/InboundObject"
                    }
                  }
                }
              }
            }
          },
          "depositInstructions": {
            "type": "object",
            "properties": {
              "bankName": {
                "type": "string"
              },
              "bankAddress": {
                "type": "string"
              },
              "swiftCode": {
                "type": "string"
              },
              "beneficiary": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "address": {
                    "type": "string"
                  }
                }
              },
              "ach": {
                "type": "object",
                "properties": {
                  "routingNumber": {
                    "type": "string"
                  },
                  "accountNumber": {
                    "type": "string"
                  }
                }
              },
              "wire": {
                "type": "object",
                "properties": {
                  "routingNumber": {
                    "type": "string"
                  },
                  "accountNumber": {
                    "type": "string"
                  }
                }
              },
              "rtp": {
                "type": "object",
                "properties": {
                  "routingNumber": {
                    "type": "string"
                  },
                  "accountNumber": {
                    "type": "string"
                  }
                }
              },
              "reference": {
                "type": "string"
              },
              "depositBy": {
                "type": "string",
                "format": "date-time"
              },
              "instruction": {
                "type": "string"
              }
            }
          },
          "settlementRuleId": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "VirtualAccountListObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of virtual accounts."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualAccountObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        }
      },
      "DeactivateVirtualAccountObject": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "accountInfo": {
            "$ref": "#/components/schemas/VirtualAccountObject"
          }
        }
      },
      "ReactivateVirtualAccountObject": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "accountInfo": {
            "$ref": "#/components/schemas/VirtualAccountObject"
          }
        }
      },
      "UpdateVirtualAccountObject": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "virtualAccountInfo": {
            "$ref": "#/components/schemas/VirtualAccountObject"
          }
        }
      },
      "CreateAccountObject": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        }
      },
      "DeleteAccountObject": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "AccountObject": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "accountType": {
            "type": "string"
          },
          "accountNumber": {
            "type": "string"
          },
          "routingNumber": {
            "type": "string"
          },
          "bankName": {
            "type": "string"
          },
          "isValid": {
            "type": "boolean"
          },
          "reason": {
            "type": "string"
          },
          "rail": {
            "type": "object",
            "properties": {
              "currency": {
                "type": "string"
              },
              "railType": {
                "type": "string"
              },
              "paymentRail": {
                "type": "string"
              }
            }
          }
        }
      },
      "AllAccountObjects": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer"
          },
          "banks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "accountId": {
                  "type": "string"
                },
                "createdAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "status": {
                  "type": "string"
                },
                "accountType": {
                  "type": "string"
                },
                "businessIdentifierCode": {
                  "type": "string"
                },
                "accountNumber": {
                  "type": "string"
                },
                "routingNumber": {
                  "type": "string"
                },
                "accountHolderName": {
                  "type": "string"
                },
                "accountHolderCity": {
                  "type": "string"
                },
                "accountHolderCountry": {
                  "type": "string"
                },
                "accountHolderStreetLine1": {
                  "type": "string"
                },
                "accountHolderStateProvinceRegion": {
                  "type": "string"
                },
                "accountHolderPostalCode": {
                  "type": "string"
                },
                "bankCountry": {
                  "type": "string"
                },
                "userId": {
                  "type": "string"
                },
                "rail": {
                  "type": "object",
                  "properties": {
                    "currency": {
                      "type": "string"
                    },
                    "railType": {
                      "type": "string"
                    },
                    "paymentRail": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        }
      },
      "UsAccountObject": {
        "type": "object",
        "title": "Account Object (US)",
        "properties": {
          "id": {
            "type": "string",
            "description": "Account ID"
          },
          "userId": {
            "type": "string",
            "description": "User ID"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "accountHolder": {
            "$ref": "#/components/schemas/UsAccountHolder"
          },
          "isValid": {
            "type": "boolean",
            "description": "Indicates if the account is valid"
          },
          "reason": {
            "type": "string",
            "description": "Reason for invalidity, if applicable"
          },
          "us": {
            "type": "object",
            "properties": {
              "accountType": {
                "type": "string",
                "enum": [
                  "Checking",
                  "Savings"
                ],
                "description": "The type of account.\n"
              },
              "accountNumber": {
                "type": "string",
                "description": "The account number of the account.\n"
              },
              "routingNumber": {
                "type": "string",
                "description": "The routing number of the account.\n"
              },
              "iban": {
                "type": "string",
                "description": "Only one of `accountNumber` or `iban` can be provided.\n"
              },
              "swiftCode": {
                "type": "string",
                "description": "The SWIFT code of the bank where the account is held. Required if `transferType` is `swift`.\n"
              },
              "bankName": {
                "type": "string",
                "description": "The name of the bank where the account is held.\n"
              },
              "bankAddress": {
                "type": "object",
                "description": "Address of the bank. Required if `transferType` is `swift`.",
                "$ref": "#/components/schemas/Address"
              },
              "currency": {
                "type": "string",
                "enum": [
                  "usd"
                ],
                "description": "The currency of the account.\n"
              }
            }
          },
          "rail": {
            "type": "object",
            "properties": {
              "currency": {
                "type": "string",
                "enum": [
                  "usd"
                ],
                "description": "The currency of the account.\n"
              },
              "railType": {
                "type": "string",
                "enum": [
                  "offramp"
                ]
              },
              "paymentRail": {
                "type": "string"
              }
            }
          }
        }
      },
      "SimulateVirtualAccountDeposit": {
        "type": "object",
        "title": "Simulate Virtual Account Deposit",
        "properties": {
          "amount": {
            "type": "string",
            "description": "Amount to simulate deposit"
          },
          "paymentRail": {
            "type": "string",
            "enum": [
              "WIRE",
              "ACH",
              "RTP"
            ],
            "description": "Payment rail for the simulated deposit , recommended to use WIRE for faster settlement"
          },
          "requestId": {
            "type": "string",
            "description": "Unique identifier for the request (recommend using uuid v4)"
          },
          "source": {
            "type": "object",
            "required": [
              "routingNumber",
              "accountNumber",
              "name",
              "bankName"
            ],
            "properties": {
              "routingNumber": {
                "type": "string",
                "description": "Routing number of the source bank account"
              },
              "accountNumber": {
                "type": "string",
                "description": "Account number of the source bank account"
              },
              "name": {
                "type": "string",
                "description": "Name on the source bank account"
              },
              "bankName": {
                "type": "string",
                "description": "Name of the source bank"
              }
            }
          },
          "userId": {
            "type": "string",
            "description": "Optional user ID to associate with this deposit"
          },
          "reference": {
            "type": "string",
            "description": "Optional reference for this deposit"
          },
          "description": {
            "type": "string",
            "description": "Optional description for this deposit"
          },
          "sandboxScenario": {
            "$ref": "#/components/schemas/OnrampSandboxScenario"
          }
        },
        "required": [
          "amount",
          "paymentRail",
          "requestId",
          "source"
        ]
      },
      "SettlementRuleTier": {
        "type": "object",
        "title": "Settlement Rule Tier",
        "properties": {
          "min": {
            "type": "string",
            "description": "Minimum value for this tier (empty string is required for first tier)",
            "example": "1000"
          },
          "max": {
            "type": "string",
            "description": "Maximum value for this tier (empty string is required for last tier)",
            "example": "2000"
          },
          "value": {
            "type": "number",
            "description": "Fee value for this tier",
            "example": 0.0005
          }
        },
        "required": [
          "min",
          "max",
          "value"
        ]
      },
      "SettlementRuleTrigger": {
        "type": "object",
        "title": "Settlement Rule Trigger",
        "description": "Conditions that must all be true (AND) for this sub-rule to activate. Omit entirely for a sub-rule that always applies.",
        "properties": {
          "paymentRail": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "ACH",
                "WIRE",
                "RTP"
              ]
            },
            "description": "Activates this sub-rule when the deposit's payment rail matches any of these values (OR)",
            "example": [
              "ACH"
            ]
          }
        }
      },
      "SettlementRule": {
        "type": "object",
        "title": "Settlement Rule",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "PERCENTAGE",
              "FIXED"
            ],
            "description": "Type of fee calculation",
            "example": "PERCENTAGE"
          },
          "calculationModel": {
            "type": "string",
            "enum": [
              "FIXED",
              "TIERED"
            ],
            "description": "Model for calculating the fee",
            "example": "FIXED"
          },
          "value": {
            "type": "number",
            "nullable": true,
            "description": "Fixed fee value (omit for tiered calculation model)",
            "example": 0.001
          },
          "tiers": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SettlementRuleTier"
            },
            "description": "Tiered fee structure (omit for fixed calculation model)"
          },
          "walletAddress": {
            "type": "string",
            "description": "Wallet address to receive the fee",
            "example": "0x15FB50680fEB2f726413416665c25f9B397b047b"
          },
          "trigger": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SettlementRuleTrigger"
              }
            ],
            "nullable": true,
            "description": "Optional condition(s) that must be met for this sub-rule to activate. If omitted, the sub-rule always applies."
          }
        },
        "required": [
          "type",
          "calculationModel",
          "walletAddress"
        ]
      },
      "CreateSettlementRule": {
        "type": "object",
        "title": "Create Settlement Rule",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "Unique identifier for the request (recommend using uuid v4)",
            "example": "{{$guid}}"
          },
          "chain": {
            "type": "string",
            "enum": [
              "BASE",
              "POLYGON",
              "ETHEREUM",
              "SOLANA",
              "TRON",
              "ARC"
            ],
            "description": "Blockchain network for the settlement rule, this should be the same as the blockchain network of the virtual account",
            "example": "BASE"
          },
          "includeHIFIFee": {
            "type": "boolean",
            "description": "Whether to include HiFi's fee in addition to custom rules, please contact HiFi support if you want to include HiFi's fee",
            "example": false
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SettlementRule"
            },
            "description": "Array of settlement rules",
            "minItems": 1
          }
        },
        "required": [
          "requestId",
          "chain",
          "includeHIFIFee",
          "rules"
        ]
      },
      "UpdateSettlementRule": {
        "type": "object",
        "title": "Update Settlement Rule",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "Unique identifier for the request (recommend using uuid v4)",
            "example": "{{$guid}}"
          },
          "chain": {
            "type": "string",
            "enum": [
              "BASE",
              "POLYGON",
              "ETHEREUM",
              "SOLANA",
              "TRON",
              "ARC"
            ],
            "description": "Blockchain network for the settlement rule",
            "example": "BASE"
          },
          "includeHIFIFee": {
            "type": "boolean",
            "description": "Whether to include HiFi's fee in addition to custom rules",
            "example": false
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SettlementRule"
            },
            "description": "Array of settlement rules",
            "minItems": 1
          }
        },
        "required": [
          "requestId",
          "chain",
          "includeHIFIFee",
          "rules"
        ]
      },
      "SettlementRuleResponse": {
        "type": "object",
        "title": "Settlement Rule Response",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the settlement rule",
            "example": "15c786fb-de7a-520c-a4b3-f312d4a122d2"
          },
          "chain": {
            "type": "string",
            "enum": [
              "BASE",
              "POLYGON",
              "ETHEREUM",
              "SOLANA",
              "TRON",
              "ARC"
            ],
            "description": "Blockchain network for the settlement rule",
            "example": "BASE"
          },
          "includeHIFIFee": {
            "type": "boolean",
            "description": "Whether to include HiFi's fee in addition to custom rules, please contact HiFi support if you want to include HiFi's fee",
            "example": false
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SettlementRule"
            },
            "description": "Array of settlement rules"
          }
        },
        "required": [
          "id",
          "chain",
          "includeHIFIFee",
          "rules"
        ]
      },
      "SettlementRuleListResponse": {
        "type": "object",
        "title": "Settlement Rule List Response",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Total number of settlement rules"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SettlementRuleResponse"
            },
            "description": "Array of settlement rules"
          },
          "nextCursor": {
            "type": "string",
            "nullable": true,
            "description": "Cursor for pagination to the next page of results"
          }
        },
        "required": [
          "count",
          "rules"
        ]
      },
      "DeleteSettlementRuleResponse": {
        "type": "object",
        "title": "Delete Settlement Rule Response",
        "properties": {
          "message": {
            "type": "string",
            "description": "Success message"
          }
        },
        "required": [
          "message"
        ]
      },
      "ApplySettlementRuleResponse": {
        "type": "object",
        "title": "Apply Settlement Rule Response",
        "properties": {
          "message": {
            "type": "string",
            "description": "Success message"
          }
        },
        "required": [
          "message"
        ]
      },
      "RemoveSettlementRuleResponse": {
        "type": "object",
        "title": "Remove Settlement Rule Response",
        "properties": {
          "message": {
            "type": "string",
            "description": "Success message"
          }
        },
        "required": [
          "message"
        ]
      },
      "CantonOfferObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the Canton offer"
          },
          "status": {
            "type": "string",
            "description": "Current status of the offer",
            "enum": [
              "RECEIVED",
              "PENDING",
              "ACCEPTED",
              "REJECTED",
              "WITHDRAWN",
              "EXPIRED"
            ]
          },
          "amount": {
            "type": "string",
            "description": "The amount of the offer"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usdcx"
            ],
            "description": "The currency of the offer"
          },
          "source": {
            "type": "object",
            "properties": {
              "party": {
                "type": "string",
                "description": "The party created the offer"
              }
            }
          },
          "destination": {
            "type": "object",
            "properties": {
              "userId": {
                "type": "string",
                "format": "uuid",
                "description": "The user ID receiving the offer"
              },
              "userWalletId": {
                "type": "string",
                "format": "uuid",
                "description": "The wallet ID receiving the offer"
              },
              "party": {
                "type": "string",
                "description": "The party receiving the offer"
              }
            }
          },
          "creationTransactionHash": {
            "type": "string",
            "description": "The transaction hash when the offer was created"
          },
          "executionTransactionHash": {
            "type": "string",
            "nullable": true,
            "description": "The transaction hash when the offer was accepted or rejected (null if not yet executed)"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the offer was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the offer was last updated"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Timestamp when the offer expires (null if no expiration)"
          }
        }
      },
      "AllCantonOffersObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of offers returned"
          },
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CantonOfferObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true,
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results. Null if there are no more records."
          }
        }
      },
      "Unauthorized": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "Error code"
          },
          "error": {
            "type": "string",
            "description": "Error type"
          },
          "errorDetails": {
            "type": "string",
            "description": "Detailed error message"
          }
        }
      },
      "NotFound": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "Error code"
          },
          "error": {
            "type": "string",
            "description": "Error type"
          },
          "errorDetails": {
            "type": "string",
            "description": "Detailed error message"
          }
        }
      },
      "InternalServerError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "Error code"
          },
          "error": {
            "type": "string",
            "description": "Error type"
          },
          "errorDetails": {
            "type": "string",
            "description": "Detailed error message"
          }
        }
      },
      "Pong": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "pong"
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message describing what went wrong",
            "example": "Invalid API key or user not found"
          }
        }
      },
      "ExternalAccountAddress": {
        "type": "object",
        "description": "Address information",
        "required": [
          "addressLine1",
          "city",
          "stateProvinceRegion",
          "postalCode",
          "country"
        ],
        "properties": {
          "addressLine1": {
            "type": "string",
            "description": "Primary address line",
            "example": "123 Main Street"
          },
          "addressLine2": {
            "type": "string",
            "description": "Secondary address line (apartment, suite, etc.)",
            "example": "Suite 100"
          },
          "city": {
            "type": "string",
            "description": "City name",
            "example": "New York"
          },
          "stateProvinceRegion": {
            "type": "string",
            "description": "State, province, or region",
            "example": "NY"
          },
          "postalCode": {
            "type": "string",
            "description": "Postal or ZIP code",
            "example": "10001"
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-3 country code",
            "example": "USA"
          }
        }
      },
      "ExternalAccountHolder": {
        "type": "object",
        "description": "Account holder information",
        "required": [
          "type",
          "name"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "individual",
              "business"
            ],
            "description": "Type of account holder",
            "example": "individual"
          },
          "name": {
            "type": "string",
            "description": "Full name of account holder",
            "example": "John Doe"
          },
          "email": {
            "type": "string",
            "format": "email",
            "description": "Email address",
            "example": "john@example.com"
          },
          "phone": {
            "type": "string",
            "description": "Phone number in E.164 format",
            "example": "+14155551234"
          },
          "address": {
            "$ref": "#/components/schemas/ExternalAccountAddress"
          }
        }
      },
      "ExternalAccountBankDetailsACH": {
        "type": "object",
        "description": "Bank details for ACH transfers",
        "required": [
          "accountNumber",
          "routingNumber"
        ],
        "properties": {
          "accountNumber": {
            "type": "string",
            "description": "Bank account number",
            "example": "123456789"
          },
          "routingNumber": {
            "type": "string",
            "description": "ABA routing number (9 digits)",
            "example": "021000021"
          },
          "accountType": {
            "type": "string",
            "enum": [
              "checking",
              "savings"
            ],
            "description": "Type of bank account",
            "example": "checking"
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank",
            "example": "Chase Bank"
          }
        }
      },
      "ExternalAccountBankDetailsWire": {
        "type": "object",
        "description": "Bank details for domestic wire transfers",
        "required": [
          "accountNumber",
          "routingNumber"
        ],
        "properties": {
          "accountNumber": {
            "type": "string",
            "description": "Bank account number",
            "example": "123456789"
          },
          "routingNumber": {
            "type": "string",
            "description": "ABA routing number (9 digits)",
            "example": "021000021"
          },
          "accountType": {
            "type": "string",
            "enum": [
              "checking",
              "savings"
            ],
            "description": "Type of bank account",
            "example": "checking"
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank",
            "example": "Bank of America"
          }
        }
      },
      "ExternalAccountBankDetailsSWIFT": {
        "type": "object",
        "description": "Bank details for international SWIFT transfers",
        "required": [
          "iban",
          "swiftCode",
          "bankName"
        ],
        "properties": {
          "iban": {
            "type": "string",
            "description": "International Bank Account Number",
            "example": "DE91100000000123456789"
          },
          "swiftCode": {
            "type": "string",
            "description": "SWIFT/BIC code (8 or 11 characters)",
            "example": "DEUTDEFF"
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank",
            "example": "Deutsche Bank"
          }
        }
      },
      "ExternalAccountBankDetailsPIX": {
        "type": "object",
        "description": "Bank details for Brazilian PIX transfers",
        "required": [
          "pixKey"
        ],
        "properties": {
          "pixKey": {
            "type": "string",
            "description": "PIX key (CPF, CNPJ, phone, email, or EVP)",
            "example": "12345678901"
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank",
            "example": "Banco do Brasil"
          }
        }
      },
      "ExternalAccountBankDetailsSPEI": {
        "type": "object",
        "description": "Bank details for Mexican SPEI transfers",
        "required": [
          "speiClabe"
        ],
        "properties": {
          "speiClabe": {
            "type": "string",
            "description": "CLABE number (18 digits)",
            "example": "032180000118359719"
          },
          "bankName": {
            "type": "string",
            "description": "Name of the bank",
            "example": "BBVA Mexico"
          }
        }
      },
      "ExternalAccountBankDetailsMoMo": {
        "type": "object",
        "description": "Bank details for Mobile Money transfers",
        "required": [
          "accountNumber",
          "bankName"
        ],
        "properties": {
          "accountNumber": {
            "type": "string",
            "description": "Mobile phone number in E.164 format",
            "example": "+254712345678"
          },
          "bankName": {
            "type": "string",
            "description": "Mobile money provider name",
            "example": "M-Pesa"
          }
        }
      },
      "CreateExternalAccountACH": {
        "type": "object",
        "required": [
          "requestId",
          "direction",
          "country",
          "currency",
          "rail",
          "accountHolder",
          "accountDetails"
        ],
        "properties": {
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique request ID for deduplication",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "direction": {
            "type": "string",
            "enum": [
              "payout"
            ],
            "description": "Direction of transfers (currently only payout supported)",
            "example": "payout"
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-3 country code (must be USA for ACH)",
            "example": "USA"
          },
          "currency": {
            "type": "string",
            "description": "Currency code (must be USD for ACH)",
            "example": "USD"
          },
          "rail": {
            "type": "string",
            "enum": [
              "ach"
            ],
            "description": "Payment rail",
            "example": "ach"
          },
          "accountHolder": {
            "$ref": "#/components/schemas/ExternalAccountHolder"
          },
          "accountDetails": {
            "$ref": "#/components/schemas/ExternalAccountBankDetailsACH"
          }
        }
      },
      "CreateExternalAccountWire": {
        "type": "object",
        "required": [
          "requestId",
          "direction",
          "country",
          "currency",
          "rail",
          "accountHolder",
          "accountDetails"
        ],
        "properties": {
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique request ID for deduplication",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "direction": {
            "type": "string",
            "enum": [
              "payout"
            ],
            "description": "Direction of transfers (currently only payout supported)",
            "example": "payout"
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-3 country code (must be USA for Wire)",
            "example": "USA"
          },
          "currency": {
            "type": "string",
            "description": "Currency code (must be USD for Wire)",
            "example": "USD"
          },
          "rail": {
            "type": "string",
            "enum": [
              "wire"
            ],
            "example": "wire"
          },
          "accountHolder": {
            "$ref": "#/components/schemas/ExternalAccountHolder"
          },
          "accountDetails": {
            "$ref": "#/components/schemas/ExternalAccountBankDetailsWire"
          }
        }
      },
      "CreateExternalAccountSWIFT": {
        "type": "object",
        "required": [
          "requestId",
          "direction",
          "country",
          "currency",
          "rail",
          "accountHolder",
          "accountDetails"
        ],
        "properties": {
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique request ID for deduplication",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "direction": {
            "type": "string",
            "enum": [
              "payout"
            ],
            "description": "Direction of transfers (currently only payout supported)",
            "example": "payout"
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-3 country code",
            "example": "BRA"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "rail": {
            "type": "string",
            "enum": [
              "swift"
            ],
            "example": "swift"
          },
          "accountHolder": {
            "$ref": "#/components/schemas/ExternalAccountHolder"
          },
          "accountDetails": {
            "$ref": "#/components/schemas/ExternalAccountBankDetailsSWIFT"
          }
        }
      },
      "CreateExternalAccountPIX": {
        "type": "object",
        "required": [
          "requestId",
          "direction",
          "country",
          "currency",
          "rail",
          "accountHolder",
          "accountDetails"
        ],
        "properties": {
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique request ID for deduplication",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "direction": {
            "type": "string",
            "enum": [
              "payout"
            ],
            "description": "Direction of transfers (currently only payout supported)",
            "example": "payout"
          },
          "country": {
            "type": "string",
            "description": "Must be BRA for PIX",
            "example": "BRA"
          },
          "currency": {
            "type": "string",
            "description": "Must be BRL for PIX",
            "example": "BRL"
          },
          "rail": {
            "type": "string",
            "enum": [
              "pix"
            ],
            "example": "pix"
          },
          "accountHolder": {
            "$ref": "#/components/schemas/ExternalAccountHolder"
          },
          "accountDetails": {
            "$ref": "#/components/schemas/ExternalAccountBankDetailsPIX"
          }
        }
      },
      "CreateExternalAccountSPEI": {
        "type": "object",
        "required": [
          "requestId",
          "direction",
          "country",
          "currency",
          "rail",
          "accountHolder",
          "accountDetails"
        ],
        "properties": {
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique request ID for deduplication",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "direction": {
            "type": "string",
            "enum": [
              "payout"
            ],
            "description": "Direction of transfers (currently only payout supported)",
            "example": "payout"
          },
          "country": {
            "type": "string",
            "description": "Must be MEX for SPEI",
            "example": "MEX"
          },
          "currency": {
            "type": "string",
            "description": "Must be MXN for SPEI",
            "example": "MXN"
          },
          "rail": {
            "type": "string",
            "enum": [
              "spei"
            ],
            "example": "spei"
          },
          "accountHolder": {
            "$ref": "#/components/schemas/ExternalAccountHolder"
          },
          "accountDetails": {
            "$ref": "#/components/schemas/ExternalAccountBankDetailsSPEI"
          }
        }
      },
      "CreateExternalAccountMoMo": {
        "type": "object",
        "required": [
          "requestId",
          "direction",
          "country",
          "currency",
          "rail",
          "accountHolder",
          "accountDetails"
        ],
        "properties": {
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique request ID for deduplication",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "direction": {
            "type": "string",
            "enum": [
              "payout"
            ],
            "description": "Direction of transfers (currently only payout supported)",
            "example": "payout"
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-3 country code (e.g., KEN, GHA)",
            "example": "KEN"
          },
          "currency": {
            "type": "string",
            "description": "Local currency code (e.g., KES, GHS)",
            "example": "KES"
          },
          "rail": {
            "type": "string",
            "enum": [
              "momo"
            ],
            "example": "momo"
          },
          "accountHolder": {
            "$ref": "#/components/schemas/ExternalAccountHolder"
          },
          "accountDetails": {
            "$ref": "#/components/schemas/ExternalAccountBankDetailsMoMo"
          }
        }
      },
      "ExternalAccountObject": {
        "type": "object",
        "description": "External account object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the external account",
            "example": "583eb259-e78b-4f0c-a4b5-a8957876fa6f"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "User ID associated with this account",
            "example": "77848151-d8cd-545a-8d45-62d31c30019d"
          },
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Request ID used for deduplication",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "direction": {
            "type": "string",
            "enum": [
              "payin",
              "payout"
            ],
            "description": "Direction of transfers",
            "example": "payout"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive",
              "pending"
            ],
            "description": "Current status of the account",
            "example": "active"
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-3 country code",
            "example": "USA"
          },
          "currency": {
            "type": "string",
            "description": "Currency code",
            "example": "USD"
          },
          "rail": {
            "type": "string",
            "enum": [
              "ach",
              "wire",
              "swift",
              "sepa",
              "pix",
              "spei",
              "momo"
            ],
            "description": "Payment rail",
            "example": "ach"
          },
          "accountHolder": {
            "$ref": "#/components/schemas/ExternalAccountHolder"
          },
          "accountDetails": {
            "type": "object",
            "description": "Bank details (fields vary by rail)"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the account was created",
            "example": "2024-01-15T10:30:00.000Z"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the account was last updated",
            "example": "2024-01-15T10:30:00.000Z"
          }
        }
      },
      "ExternalAccountListObject": {
        "type": "object",
        "properties": {
          "accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExternalAccountObject"
            }
          },
          "count": {
            "type": "integer",
            "description": "Number of accounts returned",
            "example": 10
          },
          "nextCursor": {
            "type": "string",
            "nullable": true,
            "description": "Cursor for the next page of results (null if no more results)",
            "example": "2024-01-15T10:30:00.000Z"
          }
        }
      },
      "CreateExternalAccountSuccessObject": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "ACTIVE"
          },
          "message": {
            "type": "string",
            "example": "Account created successfully"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "583eb259-e78b-4f0c-a4b5-a8957876fa6f"
          }
        }
      },
      "DeleteExternalAccountSuccessObject": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "External account deleted successfully"
          },
          "account": {
            "$ref": "#/components/schemas/ExternalAccountObject"
          }
        }
      },
      "CreateMCAccountRecipient": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Account holder type.\n",
            "enum": [
              "individual",
              "business"
            ]
          },
          "userId": {
            "type": "string",
            "description": "User ID."
          },
          "bank": {
            "type": "object",
            "description": "Bank account details of the recipient.",
            "$ref": "#/components/schemas/MCAccountBank",
            "required": [
              "currency",
              "accountName",
              "bankName",
              "accountType",
              "address"
            ]
          },
          "recipient": {
            "type": "object",
            "description": "Recipient details.",
            "$ref": "#/components/schemas/MCAccountRecipient",
            "required": [
              "type",
              "address",
              "phone",
              "email",
              "name"
            ]
          }
        },
        "required": [
          "type",
          "userId",
          "bank",
          "recipient"
        ]
      },
      "MCAccountBank": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "Bank account currency. See the full list of payout currencies and channels by region [here](https://docs.hifi.com/docs/payment-currencies-and-channels-by-region).\n"
          },
          "accountName": {
            "type": "string",
            "description": "individual's name or business name."
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number. Required if `bank.iban` is not provided.\n"
          },
          "routingNumber": {
            "type": "string",
            "description": "Routing number for local payment channels."
          },
          "bankName": {
            "type": "string",
            "description": "Bank name in the local language."
          },
          "bankCode": {
            "type": "string",
            "description": "Bank code."
          },
          "accountType": {
            "type": "string",
            "description": "Account type.",
            "enum": [
              "SAVINGS",
              "CHECKING",
              "STANDARD"
            ]
          },
          "accountPurpose": {
            "type": "string",
            "description": "Purpose of the bank account"
          },
          "accountHolder": {
            "type": "object",
            "description": "Account holder info",
            "$ref": "#/components/schemas/MCAccountBankAccountHolder"
          },
          "branchName": {
            "type": "string",
            "description": "Name of the account opening branch."
          },
          "branchCode": {
            "type": "string",
            "description": "Opening branch code/ interbank number."
          },
          "ifscCode": {
            "type": "string",
            "description": "India bank code."
          },
          "sortCode": {
            "type": "string",
            "description": "UK bank sort code (6 digits)."
          },
          "address": {
            "type": "object",
            "description": "Bank branch address.",
            "$ref": "#/components/schemas/Address"
          },
          "swiftCode": {
            "type": "string",
            "description": "SWIFT code. This field only supports 8 or 11 digits. Required for international payments or SEPA payments."
          },
          "iban": {
            "type": "string",
            "description": "EU international bank account number. Required if `bank.accountNumber` is not provided."
          }
        }
      },
      "MCAccountBankAccountHolder": {
        "type": "object",
        "properties": {
          "address": {
            "type": "object",
            "description": "account holder address as recorded by the bank",
            "$ref": "#/components/schemas/Address"
          },
          "phone": {
            "type": "string",
            "description": "account holder phone number"
          },
          "govIdType": {
            "type": "string",
            "description": "account holder government ID type.\n\nCertificate type:\n  `00` = Chinese Mainland ID Card\n  `01` = Chinese Mainland Residence Permit\n  `02` = Passport\n  `03` = Hong Kong, Macao and Taiwan ID Card\n  `04` = Hong Kong, Macao and Taiwan Residence Permit\n  `05` = Hong Kong, Macao and Taiwan Exit-Entry Permit\n  `06` = Non-Chinese ID Card\n  `07` = Non-Chinese Residence Permit\n"
          },
          "govIdNumber": {
            "type": "string",
            "description": "account holder government ID number"
          }
        },
        "required": [
          "phone",
          "address",
          "govIdType",
          "govIdNumber"
        ]
      },
      "MCAccountRecipient": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "type of recipient.\n\n  `00` UBO (`bank.accountName` must match the user's KYC name)\n  `10` Supplier other\n  `11` Supplier procurement\n  `12` Supplier logistics\n  `13` Supplier advertising\n  `14` Supplier warehousing\n  `15` Supplier operation agent\n  `16` Supplier freelancer\n  `20` General other\n  `21` General freelance\n  `22` General employee\n  `23` General platform user\n  `24` General remittance\n"
          },
          "address": {
            "type": "object",
            "description": "recipient address",
            "$ref": "#/components/schemas/Address"
          },
          "phone": {
            "type": "string",
            "description": "recipient phone number"
          },
          "email": {
            "type": "string",
            "description": "recipient email"
          },
          "name": {
            "type": "string",
            "description": "recipient name"
          },
          "nationality": {
            "type": "string",
            "description": "recipient nationality. Required when `recipient.type` is `24`."
          },
          "occupation": {
            "type": "string",
            "description": "recipient occupation code. Required when `recipient.type` is `24`.\n[Here](https://docs.hifi.com/v2/docs/occupation-code) is the list of occupation codes.\n"
          },
          "certificationType": {
            "type": "string",
            "description": "recipient certification type. Required when `recipient.type` is `24`.\n\nCertificate type:\n  `00` = Chinese Mainland ID Card\n  `01` = Chinese Mainland Residence Permit\n  `02` = Passport\n  `03` = Hong Kong, Macao and Taiwan ID Card\n  `04` = Hong Kong, Macao and Taiwan Residence Permit\n  `05` = Hong Kong, Macao and Taiwan Exit-Entry Permit\n  `06` = Non-Chinese ID Card\n  `07` = Non-Chinese Residence Permit\n"
          },
          "certificationNumber": {
            "type": "string",
            "description": "recipient certification number. Required when `recipient.type` is `24`."
          },
          "certificationFrontUrl": {
            "type": "string",
            "description": "recipient certification front URL. Required when `recipient.type` is `24`."
          },
          "certificationBackUrl": {
            "type": "string",
            "description": "recipient certification back URL. Required when `recipient.type` is `24`."
          },
          "certificationIssuanceDate": {
            "type": "string",
            "description": "recipient certification issuance date. Required when `recipient.type` is `24`."
          },
          "certificationExpirationDate": {
            "type": "string",
            "description": "recipient certification expiration date. Required when `recipient.type` is `24`."
          },
          "certificationIssuanceAuthority": {
            "type": "string",
            "description": "recipient certification issuance authority. Required when `recipient.type` is `24`."
          }
        }
      },
      "UpdateMCAccountRecipient": {
        "type": "object",
        "properties": {
          "bank": {
            "type": "object",
            "description": "Bank account details to use when making payments.",
            "$ref": "#/components/schemas/MCAccountBank"
          },
          "recipient": {
            "type": "object",
            "description": "Payment recipient details.",
            "$ref": "#/components/schemas/MCAccountRecipient"
          }
        }
      },
      "CreateMCAccountTransfer": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the request (recommend using uuid v4)."
          },
          "type": {
            "type": "string",
            "description": "type of transfer.\n\n`PAYOUT` = general payment\n`SUPPLIER` = non-CNY supplier payment \n`INTERNAL_TRANSFER` = internal transfer\n",
            "enum": [
              "PAYOUT",
              "SUPPLIER",
              "INTERNAL_TRANSFER"
            ]
          },
          "paymentMethod": {
            "type": "string",
            "description": "payment method. not required when `type` = `INTERNAL_TRANSFER`.\n",
            "enum": [
              "CROSS-BORDER",
              "LOCAL"
            ]
          },
          "paymentNetwork": {
            "type": "string",
            "description": "payment network. not required when `type` = `INTERNAL_TRANSFER`.\n\n**LOCAL:** ACH, FPS, RTGS, FedWire, Bpay, SEPA\n\n**CROSS-BORDER:** SWIFT\n",
            "enum": [
              "ACH",
              "FPS",
              "RTGS",
              "FedWire",
              "Bpay",
              "SEPA",
              "SWIFT"
            ]
          },
          "rateId": {
            "type": "string",
            "format": "uuid",
            "description": "Rate ID.\n\nRequired only when `source.currency` and `destination.currency` are different.\n"
          },
          "source": {
            "type": "object",
            "description": "source info",
            "$ref": "#/components/schemas/MCAccountTransferSource"
          },
          "destination": {
            "type": "object",
            "description": "destination info",
            "$ref": "#/components/schemas/MCAccountTransferDestination"
          },
          "feeBearer": {
            "type": "string",
            "description": "fee bearer. When making transfer, you must confirm who will pay the transfer fees.\n\n`SHA` - The transfer fees are shared. The payer will pay the charges from HIFI. The recipient bears the charges of the intermediary banks and their bank, which will be deducted from the remittance amount, and your recipient will receive the remaining balance. (Only available for `CROSS-BORDER` `SWIFT` payouts)\n\n`OUR` - The payer pays all transfer fees in full before initiating the transfer. This means that the amount will be delivered to the recipient in full.\n\nFor LOCAL transfers, `OUR` is the only option.\n",
            "enum": [
              "SHA",
              "OUR"
            ]
          },
          "pobo": {
            "type": "boolean",
            "description": "Use pay on behalf of(POBO) service?\nIf `true`, the transfer will be made on behalf of the user's KYC name. Default is `false`.\n"
          },
          "middleBankCode": {
            "type": "string",
            "description": "Intermediate bank Swift code.\n"
          },
          "reference": {
            "type": "string",
            "description": "reference"
          },
          "purpose": {
            "type": "string",
            "description": "payment purpose code. [Here](https://docs.hifi.com/docs/payment-purpose-code) is the list of payment purpose codes."
          },
          "documents": {
            "type": "array",
            "description": "document URLs.\n\nWhen `purpose` = `3005`-Salary, you can upload Employment Contract + Proof of Overseas Residence.\nWhen the single transaction amount exceeds 50,000 USD, an additional Tax return Certification should be uploaded.\nWhen `purpose` = `3007`-Living expenses/Family support, you could upload Screenshot of Household Register + Proof of Overseas Residence.\n",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "description": "document URL"
                },
                "description": {
                  "type": "string",
                  "description": "document description"
                }
              }
            }
          }
        },
        "required": [
          "requestId",
          "type",
          "source",
          "destination",
          "feeBearer",
          "purpose"
        ]
      },
      "MCAccountTransferSource": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "User ID. Funds will be deducted from this user.\n"
          },
          "amount": {
            "type": "string",
            "description": "Transfer payment amount.\n\nEither `source.amount` or `destination.amount` must be provided, but not both. \nIf `source.amount` is provided, the `destination.amount` will be calculated based on the `source.amount` and the exchange rate (if the `source.currency` and `destination.currency` are different).\n"
          },
          "currency": {
            "type": "string",
            "description": "Transfer payment currency. See the full list of collection currencies by bank location [here](https://docs.hifi.com/v2/docs/currencies-by-bank-location).\n"
          }
        },
        "required": [
          "userId",
          "currency"
        ]
      },
      "MCAccountTransferDestination": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "User ID.\n\nEither `destination.userId` or `destination.recipientId` must be provided, but not both. \n`destination.userId` must be provided if the transfer `type` is `INTERNAL_TRANSFER`.\n"
          },
          "recipientId": {
            "type": "string",
            "description": "Recipient ID returned by the Create a transfer recipient endpoint.\n\nEither `destination.userId` or `destination.recipientId` must be provided, but not both. \n`destination.recipientId` must be provided if the transfer `type` is not `INTERNAL_TRANSFER`.\n"
          },
          "amount": {
            "type": "string",
            "description": "Destination recieved amount.\n\nEither `source.amount` or `destination.amount` must be provided, but not both. \nIf `destination.amount` is provided, the `source.amount` will be calculated based on the `destination.amount` and the exchange rate (if the `source.currency` and `destination.currency` are different).\n"
          },
          "currency": {
            "type": "string",
            "description": "Destination recieving currency. See the full list of payout currencies and channels by region [here](https://docs.hifi.com/docs/payment-currencies-and-channels-by-region).\n"
          }
        },
        "required": [
          "currency"
        ]
      },
      "MCAccountRecipientObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Recipient ID."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the recipient was created."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the recipient was last updated."
          },
          "status": {
            "type": "string",
            "description": "Recipient KYC status：\n  `CREATED`: recipient kyc application created \n  `NOT_INITIATED`: recipient kyc application not initiated\n  `PENDING`: recipient kyc application submitted and in process\n  `AVAILABLE`: recipient kyc application approved and available for payout\n  `DECLINED`: recipient kyc application declined\n",
            "enum": [
              "CREATED",
              "NOT_INITIATED",
              "PENDING",
              "AVAILABLE",
              "DECLINED"
            ]
          },
          "rejectionReasons": {
            "type": "string",
            "description": "Rejection reasons."
          },
          "failedReason": {
            "type": "string",
            "description": "Failed reason."
          },
          "userId": {
            "type": "string",
            "description": "User ID."
          },
          "type": {
            "type": "string",
            "description": "Recipient type.",
            "enum": [
              "individual",
              "business"
            ]
          },
          "recipient": {
            "type": "object",
            "description": "recipient info",
            "$ref": "#/components/schemas/MCAccountRecipient"
          },
          "bank": {
            "type": "object",
            "description": "bank info",
            "$ref": "#/components/schemas/MCAccountBank"
          }
        }
      },
      "CreateMCAccountRecipientObject": {
        "type": "object",
        "$ref": "#/components/schemas/MCAccountRecipientObject",
        "example": {
          "id": "8beb7440-cedf-480d-b3da-14cead47b132",
          "createdAt": "2025-02-17T22:46:49.756131+00:00",
          "updatedAt": "2025-02-17T22:46:53.466+00:00",
          "status": "CREATED",
          "rejectionReasons": null,
          "failedReason": null,
          "userId": "0e965562-047c-43ae-9481-fd894f7e6706",
          "type": "individual",
          "recipient": {
            "type": "10",
            "name": "John Doe",
            "phone": "+185744112934",
            "email": "johndoe@gmail.com",
            "address": {
              "city": "New York",
              "country": "USA",
              "postalCode": "10001",
              "addressLine1": "Example St 1.",
              "stateProvinceRegion": "NY"
            },
            "nationality": "USA",
            "occupation": null,
            "certificationType": null,
            "certificationNumber": null,
            "certificationFrontUrl": null,
            "certificationBackUrl": null,
            "certificationIssuanceAuth": null,
            "certificationIssuanceDate": null,
            "certificationExpirationDate": null
          },
          "bank": {
            "currency": "USD",
            "accountName": "John Doe",
            "accountNumber": "10911234321",
            "routingNumber": "026009593",
            "bankName": "Bank of America",
            "bankCode": null,
            "accountType": "CHECKING",
            "accountPurpose": null,
            "accountHolder": {
              "phone": null,
              "address": null,
              "govIdType": null,
              "govIdNumber": null
            },
            "branchName": null,
            "branchCode": null,
            "ifscCode": null,
            "sortCode": null,
            "address": {
              "city": "New York",
              "country": "USA",
              "postalCode": "10001",
              "addressLine1": "Example St 1.",
              "stateProvinceRegion": "NY"
            },
            "swiftCode": "BOFAUS6NXXX",
            "iban": null
          }
        }
      },
      "GetMCAccountRecipientObject": {
        "type": "object",
        "$ref": "#/components/schemas/MCAccountRecipientObject",
        "example": {
          "id": "8beb7440-cedf-480d-b3da-14cead47b132",
          "createdAt": "2025-02-17T22:46:49.756131+00:00",
          "updatedAt": "2025-02-17T22:46:53.466+00:00",
          "status": "AVAILABLE",
          "rejectionReasons": null,
          "failedReason": null,
          "userId": "0e965562-047c-43ae-9481-fd894f7e6706",
          "type": "individual",
          "recipient": {
            "type": "10",
            "name": "John Doe",
            "phone": "+185744112934",
            "email": "johndoe@gmail.com",
            "address": {
              "city": "New York",
              "country": "USA",
              "postalCode": "10001",
              "addressLine1": "Example St 1.",
              "stateProvinceRegion": "NY"
            },
            "nationality": "USA",
            "occupation": null,
            "certificationType": null,
            "certificationNumber": null,
            "certificationFrontUrl": null,
            "certificationBackUrl": null,
            "certificationIssuanceAuth": null,
            "certificationIssuanceDate": null,
            "certificationExpirationDate": null
          },
          "bank": {
            "currency": "USD",
            "accountName": "John Doe",
            "accountNumber": "10911234321",
            "routingNumber": "026009593",
            "bankName": "Bank of America",
            "bankCode": null,
            "accountType": "CHECKING",
            "accountPurpose": null,
            "accountHolder": {
              "phone": null,
              "address": null,
              "govIdType": null,
              "govIdNumber": null
            },
            "branchName": null,
            "branchCode": null,
            "ifscCode": null,
            "sortCode": null,
            "address": {
              "city": "New York",
              "country": "USA",
              "postalCode": "10001",
              "addressLine1": "Example St 1.",
              "stateProvinceRegion": "NY"
            },
            "swiftCode": "BOFAUS6NXXX",
            "iban": null
          }
        }
      },
      "GetMCAccountRecipientListObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "number of recipients"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MCAccountRecipientObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        },
        "example": {
          "count": 1,
          "data": [
            {
              "id": "8beb7440-cedf-480d-b3da-14cead47b132",
              "createdAt": "2025-02-17T22:46:49.756131+00:00",
              "updatedAt": "2025-02-17T22:46:53.466+00:00",
              "status": "AVAILABLE",
              "rejectionReasons": null,
              "failedReason": null,
              "userId": "0e965562-047c-43ae-9481-fd894f7e6706",
              "type": "individual",
              "recipient": {
                "type": "10",
                "name": "John Doe",
                "phone": "+185744112934",
                "email": "johndoe@gmail.com",
                "address": {
                  "city": "New York",
                  "country": "USA",
                  "postalCode": "10001",
                  "addressLine1": "Example St 1.",
                  "stateProvinceRegion": "NY"
                },
                "nationality": "USA",
                "occupation": null,
                "certificationType": null,
                "certificationNumber": null,
                "certificationFrontUrl": null,
                "certificationBackUrl": null,
                "certificationIssuanceAuth": null,
                "certificationIssuanceDate": null,
                "certificationExpirationDate": null
              },
              "bank": {
                "currency": "USD",
                "accountName": "John Doe",
                "accountNumber": "10911234321",
                "routingNumber": "026009593",
                "bankName": "Bank of America",
                "bankCode": null,
                "accountType": "CHECKING",
                "accountPurpose": null,
                "accountHolder": {
                  "phone": null,
                  "address": null,
                  "govIdType": null,
                  "govIdNumber": null
                },
                "branchName": null,
                "branchCode": null,
                "ifscCode": null,
                "sortCode": null,
                "address": {
                  "city": "New York",
                  "country": "USA",
                  "postalCode": "10001",
                  "addressLine1": "Example St 1.",
                  "stateProvinceRegion": "NY"
                },
                "swiftCode": "BOFAUS6NXXX",
                "iban": null
              }
            }
          ],
          "nextCursor": "2025-02-17T22:46:49.756131+00:00"
        }
      },
      "MCAccountTransferObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Transfer ID."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transfer was created."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the transfer was last updated."
          },
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Request ID."
          },
          "type": {
            "type": "string",
            "description": "Transfer type."
          },
          "status": {
            "type": "string",
            "description": "Transfer status.\n  `CREATED`: order created\n  `NOT_INITIATED`: order not initiated\n  `INITIATED`: order initiated and to be processed\n  `PENDING`: order processing and under review\n  `COMPLETED`: order completed (payment has been accepted by the payment scheme and is on its way to the beneficiary bank.)\n  `FAILED`: order failed\n  `REFUNDED`: order refunded\n",
            "enum": [
              "CREATED",
              "NOT_INITIATED",
              "INITIATED",
              "PENDING",
              "COMPLETED",
              "FAILED",
              "REFUNDED"
            ]
          },
          "description": {
            "type": "string",
            "description": "Transfer description."
          },
          "paymentMethod": {
            "type": "string",
            "description": "Payment method."
          },
          "paymentNetwork": {
            "type": "string",
            "description": "Payment network."
          },
          "source": {
            "type": "object",
            "description": "source info",
            "$ref": "#/components/schemas/MCAccountTransferSource"
          },
          "destination": {
            "type": "object",
            "description": "destination info",
            "$ref": "#/components/schemas/MCAccountTransferDestination"
          },
          "fee": {
            "type": "object",
            "description": "fee info",
            "properties": {
              "amount": {
                "type": "string",
                "description": "fee amount"
              },
              "currency": {
                "type": "string",
                "description": "fee currency"
              }
            }
          },
          "rate": {
            "type": "number",
            "description": "FX rate."
          },
          "reference": {
            "type": "string",
            "description": "Reference."
          },
          "feeBearer": {
            "type": "string",
            "description": "fee bearer."
          },
          "purpose": {
            "type": "string",
            "description": "Transfer purpose."
          },
          "pobo": {
            "type": "boolean",
            "description": "Use pay on behalf(POBO) service?"
          },
          "gpi": {
            "type": "object",
            "description": "GPI info",
            "$ref": "#/components/schemas/MCAccountTransferGPI"
          },
          "refund": {
            "type": "object",
            "description": "Refund info",
            "properties": {
              "amount": {
                "type": "number",
                "description": "Refund amount."
              },
              "currency": {
                "type": "string",
                "description": "Refund currency."
              },
              "reason": {
                "type": "string",
                "description": "Refund reason."
              }
            }
          },
          "failedReason": {
            "type": "string",
            "description": "Failed reason."
          },
          "remark": {
            "type": "string",
            "description": "Remark."
          }
        },
        "example": {
          "id": "df939a40-e056-4830-b8c8-6f16a1e5424b",
          "createdAt": "2023-10-01T00:00:00Z",
          "updatedAt": "2023-10-01T00:00:00Z",
          "requestId": "8c617cb9-e0f4-4b78-869d-9551ec631fef",
          "type": "PAYOUT",
          "status": "CREATED",
          "description": null,
          "paymentMethod": "CROSS-BORDER",
          "paymentNetwork": "SWIFT",
          "source": {
            "userId": "3d34b0f1-7ba2-455f-bd63-8f2018567c80",
            "amount": 10.95,
            "currency": "EUR"
          },
          "destination": {
            "amount": 10.47,
            "currency": "USD",
            "userId": null,
            "recipientId": "ef1b7cff-a5c0-495e-8774-2a8a93b9963e"
          },
          "fee": {
            "amount": 1,
            "currency": "USD"
          },
          "rateId": "06d17471-6a92-442c-87a1-dc2993aa0d8d",
          "reference": null,
          "feeBearer": "OUR",
          "purpose": "1001",
          "pobo": true,
          "refund": null,
          "failedReason": null,
          "remark": null,
          "gpi": null
        }
      },
      "MCAccountTransferListObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "number",
            "description": "number of transfers"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MCAccountTransferObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        },
        "example": {
          "count": 1,
          "data": [
            {
              "id": "df939a40-e056-4830-b8c8-6f16a1e5424b",
              "createdAt": "2023-10-01T00:00:00Z",
              "updatedAt": "2023-10-01T00:00:00Z",
              "requestId": "8c617cb9-e0f4-4b78-869d-9551ec631fef",
              "type": "PAYOUT",
              "status": "PENDING",
              "description": null,
              "paymentMethod": "CROSS-BORDER",
              "paymentNetwork": "SWIFT",
              "source": {
                "userId": "3d34b0f1-7ba2-455f-bd63-8f2018567c80",
                "amount": 10.95,
                "currency": "EUR"
              },
              "destination": {
                "amount": 10.47,
                "currency": "USD",
                "userId": null,
                "recipientId": "ef1b7cff-a5c0-495e-8774-2a8a93b9963e"
              },
              "fee": {
                "amount": 1,
                "currency": "USD"
              },
              "rateId": "06d17471-6a92-442c-87a1-dc2993aa0d8d",
              "reference": null,
              "feeBearer": "OUR",
              "purpose": "1001",
              "pobo": true,
              "refund": null,
              "failedReason": null,
              "remark": null,
              "gpi": null
            }
          ],
          "nextCursor": "2023-10-01T00:00:00Z"
        }
      },
      "MCAccountTransferGPI": {
        "type": "object",
        "properties": {
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "creation date"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "update date"
          },
          "gpiId": {
            "type": "string",
            "description": "GPI ID"
          },
          "uetrCode": {
            "type": "string",
            "description": "UETR code"
          },
          "status": {
            "type": "string",
            "description": "GPI status",
            "enum": [
              "PENDING",
              "PROCESSING",
              "SUCCESS",
              "REJECTED"
            ]
          },
          "bankReference": {
            "type": "string",
            "description": "bank reference"
          },
          "confirmedAmount": {
            "type": "string",
            "description": "confirmed amount"
          },
          "confirmedCurrency": {
            "type": "string",
            "description": "confirmed currency"
          },
          "instructedAmount": {
            "type": "string",
            "description": "instructed amount"
          },
          "instructedCurrency": {
            "type": "string",
            "description": "instructed currency"
          },
          "payee": {
            "type": "object",
            "description": "payee info",
            "$ref": "#/components/schemas/MCAccountGPIPayee"
          },
          "payer": {
            "type": "object",
            "description": "payer info",
            "$ref": "#/components/schemas/MCAccountGPIPayer"
          },
          "middleBankInfo": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MCAccountGPIMiddleBankInfo"
            }
          }
        }
      },
      "MCAccountGPIPayee": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "payee name"
          },
          "address": {
            "type": "object",
            "description": "payee address",
            "$ref": "#/components/schemas/Address"
          },
          "account": {
            "type": "string",
            "description": "payee account"
          },
          "bank": {
            "type": "string",
            "description": "payee bank"
          },
          "bic": {
            "type": "string",
            "description": "payee BIC"
          }
        }
      },
      "MCAccountGPIPayer": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "payer name"
          },
          "bank": {
            "type": "string",
            "description": "payer bank"
          }
        }
      },
      "MCAccountGPIMiddleBankInfo": {
        "type": "object",
        "properties": {
          "chargeCode": {
            "type": "string",
            "description": "charge code"
          },
          "serialNumber": {
            "type": "string",
            "description": "serial number"
          },
          "processedAt": {
            "type": "string",
            "format": "date-time",
            "description": "processed date"
          },
          "bankName": {
            "type": "string",
            "description": "bank name"
          },
          "bankNameAbbrev": {
            "type": "string",
            "description": "bank name abbreviation"
          },
          "swiftCode": {
            "type": "string",
            "description": "SWIFT code"
          },
          "address": {
            "type": "object",
            "description": "bank address",
            "properties": {
              "addressLine1": {
                "type": "string",
                "description": "address line 1"
              },
              "addressLine2": {
                "type": "string",
                "description": "address line 2"
              },
              "addressLine3": {
                "type": "string",
                "description": "address line 3"
              },
              "city": {
                "type": "string",
                "description": "city"
              },
              "country": {
                "type": "string",
                "description": "country"
              }
            }
          }
        }
      },
      "FileUpload": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary"
          }
        },
        "required": [
          "file"
        ]
      },
      "FileUploadResult": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "File ID"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "The time the file was uploaded"
          },
          "fileName": {
            "type": "string",
            "description": "The name of the uploaded file"
          },
          "size": {
            "type": "integer",
            "description": "The size of the uploaded file in bytes"
          },
          "mimeType": {
            "type": "string",
            "description": "The MIME type of the uploaded file"
          }
        },
        "example": {
          "id": "file_zEFpbPhk71NaQfEVMR544",
          "createdAt": "2023-10-01T12:00:00Z",
          "fileName": "document.pdf",
          "size": 204800,
          "mimeType": "application/pdf"
        }
      },
      "GetForexRate": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user ID."
          },
          "source": {
            "type": "object",
            "description": "source",
            "$ref": "#/components/schemas/GetForexRateSource"
          },
          "destination": {
            "type": "object",
            "description": "source",
            "$ref": "#/components/schemas/GetForexRateDestination"
          }
        },
        "required": [
          "userId",
          "source",
          "destination"
        ]
      },
      "GetForexRateSource": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "source currency"
          },
          "amount": {
            "type": "number",
            "description": "source amount. \n\nEither `source.amount` or `destination.amount` must be provided, but not both. \nIf `source.amount` is provided, the `destination.amount` will be calculated based on the `source.amount` and the exchange rate.\n"
          }
        },
        "required": [
          "currency"
        ]
      },
      "GetForexRateDestination": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "destination currency"
          },
          "amount": {
            "type": "number",
            "description": "destination amount. \n\nEither `source.amount` or `destination.amount` must be provided, but not both. \nIf `destination.amount` is provided, the `source.amount` will be calculated based on the `destination.amount` and the exchange rate.\n"
          }
        },
        "required": [
          "currency"
        ]
      },
      "CreateForexOrder": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the request (recommend using uuid v4)."
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "User ID."
          },
          "rateId": {
            "type": "string",
            "format": "uuid",
            "description": "exchange rate ID."
          },
          "source": {
            "type": "object",
            "description": "source",
            "$ref": "#/components/schemas/CreateForexSource"
          },
          "destination": {
            "type": "object",
            "description": "destination",
            "$ref": "#/components/schemas/CreateForexDestination"
          },
          "reference": {
            "type": "string",
            "description": "Reference information."
          }
        },
        "required": [
          "requestId",
          "userId",
          "rateId",
          "source",
          "destination"
        ]
      },
      "CreateForexSource": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "source currency.\n"
          },
          "amount": {
            "type": "number",
            "description": "source amount. \n\nEither `source.amount` or `destination.amount` must be provided, but not both. \nIf `source.amount` is provided, the `destination.amount` will be calculated based on the `source.amount` and the exchange rate.\n"
          }
        },
        "required": [
          "currency"
        ]
      },
      "CreateForexDestination": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "destination currency.\n"
          },
          "amount": {
            "type": "number",
            "description": "destination amount. \n\nEither `source.amount` or `destination.amount` must be provided, but not both. \nIf `destination.amount` is provided, the `source.amount` will be calculated based on the `destination.amount` and the exchange rate.\n"
          }
        },
        "required": [
          "currency"
        ]
      },
      "ForexRateObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Rate ID."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the currency exchange rate was created."
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "User ID."
          },
          "source": {
            "type": "object",
            "description": "source",
            "properties": {
              "currency": {
                "type": "string",
                "description": "Source currency."
              },
              "amount": {
                "type": "number",
                "description": "Source amount."
              }
            }
          },
          "destination": {
            "type": "object",
            "description": "destination",
            "properties": {
              "currency": {
                "type": "string",
                "description": "Destination currency."
              },
              "amount": {
                "type": "number",
                "description": "Destination amount."
              }
            }
          },
          "rate": {
            "type": "number",
            "description": "Exchange rate."
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "description": "The expiration date and time of the exchange rate."
          }
        },
        "example": {
          "id": "8351ef38-ad25-4535-944f-7f1eabf33be7",
          "createdAt": "2023-10-01T00:00:00Z",
          "userId": "123e4567-e89b-12d3-a456-426614174001",
          "source": {
            "currency": "USD",
            "amount": 10
          },
          "destination": {
            "currency": "EUR",
            "amount": 9.62
          },
          "rate": 0.96189,
          "expiresAt": "2025-02-01T04:33:26.557+00:00"
        }
      },
      "ForexOrderObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Currency exchange order ID."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the currency exchange order was created."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the currency exchange order was last updated."
          },
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Request ID."
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "User ID."
          },
          "rate": {
            "type": "number",
            "description": "FX rate."
          },
          "source": {
            "type": "object",
            "description": "source",
            "properties": {
              "currency": {
                "type": "string",
                "description": "Source currency."
              },
              "amount": {
                "type": "number",
                "description": "Source amount."
              }
            }
          },
          "destination": {
            "type": "object",
            "description": "destination",
            "properties": {
              "currency": {
                "type": "string",
                "description": "Destination currency."
              },
              "amount": {
                "type": "number",
                "description": "Destination amount."
              }
            }
          },
          "reference": {
            "type": "string",
            "description": "Reference."
          },
          "status": {
            "type": "string",
            "description": "FX order status:\n  `CREATED`: FX order created\n  `NOT_INITIATED`: FX order not initiated\n  `PENDING`: FX order processing\n  `COMPLETED`: FX order completed\n  `FAILED`: FX order failed\n",
            "enum": [
              "CREATED",
              "NOT_INITIATED",
              "PENDING",
              "COMPLETED",
              "FAILED"
            ]
          },
          "failedReason": {
            "type": "string",
            "description": "Failed reason."
          }
        },
        "example": {
          "id": "8351ef38-ad25-4535-944f-7f1eabf33be7",
          "createdAt": "2025-02-25T19:29:34.457154+00:00",
          "updatedAt": "2025-02-25T20:04:00.173+00:00",
          "requestId": "8351ef38-ad25-4535-944f-7f1eabf33be7",
          "userId": "123e4567-e89b-12d3-a456-426614174001",
          "rate": 0.94946,
          "source": {
            "currency": "USD",
            "amount": 1
          },
          "destination": {
            "currency": "EUR",
            "amount": 0.95
          },
          "reference": null,
          "status": "COMPLETED",
          "failedReason": ""
        }
      },
      "ForexOrderListObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The total number of currency exchange orders."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ForexOrderObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        },
        "example": {
          "count": 1,
          "data": [
            {
              "id": "8351ef38-ad25-4535-944f-7f1eabf33be7",
              "createdAt": "2025-02-25T19:29:34.457+00:00",
              "updatedAt": "2025-02-25T20:04:00.173+00:00",
              "requestId": "8351ef38-ad25-4535-944f-7f1eabf33be7",
              "userId": "123e4567-e89b-12d3-a456-426614174001",
              "rate": 0.94946,
              "source": {
                "currency": "USD",
                "amount": 1
              },
              "destination": {
                "currency": "EUR",
                "amount": 0.95
              },
              "reference": null,
              "status": "COMPLETED",
              "failedReason": ""
            }
          ],
          "nextCursor": "2025-02-25T19:29:34.457+00:00"
        }
      },
      "RailsEnum": {
        "type": "string",
        "description": "The type of rail.",
        "enum": [
          "USD",
          "AFRICA_GENERAL",
          "AFRICA_NIGERIA",
          "GLOBAL_NETWORK"
        ]
      },
      "KycWarningObject": {
        "type": "object",
        "description": "A field that is missing or invalid for the rail, and the action required to resolve it.",
        "properties": {
          "field": {
            "type": "array",
            "description": "The KYC field paths this warning applies to. Empty when the warning is not tied to a specific field.",
            "items": {
              "type": "string"
            }
          },
          "action": {
            "type": "string",
            "enum": [
              "UPDATE",
              "RESUBMIT",
              "MANUAL_REVIEW",
              "UNDER_REVIEW",
              "CONTACT_SUPPORT"
            ]
          },
          "message": {
            "type": "string"
          }
        }
      },
      "KycStatusEnum": {
        "type": "string",
        "enum": [
          "INACTIVE",
          "CREATED",
          "PENDING",
          "INCOMPLETE",
          "RFI_PENDING",
          "ACTIVE",
          "REJECTED",
          "CONTACT_SUPPORT"
        ],
        "description": "Kyc Status\n- `INACTIVE`: No KYC submission has been made.\n- `CREATED`: KYC application has been submitted.\n- `PENDING`: Review in progress.\n- `RFI_PENDING`: An RFI (Request for Information) email has been sent and is pending user response.\n- `INCOMPLETE`: RFI or resubmission required.\n- `ACTIVE`: User approved and onboarded.\n- `REJECTED`: KYC application rejected.\n- `CONTACT_SUPPORT`: Unexpected issue encountered during KYC review.\n"
      },
      "IndividualKycUpdate": {
        "type": "object",
        "title": "Update Individual User KYC",
        "properties": {
          "firstName": {
            "type": "string"
          },
          "firstNameLocal": {
            "type": "string",
            "description": "first name in local language."
          },
          "middleName": {
            "type": "string"
          },
          "middleNameLocal": {
            "type": "string",
            "description": "middle name in local language."
          },
          "lastName": {
            "type": "string"
          },
          "lastNameLocal": {
            "type": "string",
            "description": "last name in local language."
          },
          "nationality": {
            "type": "string",
            "description": "Three-letter alpha-3 country code as defined in the ISO 3166-1 spec."
          },
          "email": {
            "type": "string",
            "description": "E-mail address for compliance-related communications.",
            "format": "email"
          },
          "phone": {
            "type": "string",
            "description": "Phone number in E.164 format \"+12223334444\"."
          },
          "address": {
            "type": "object",
            "description": "Address of the user.",
            "$ref": "#/components/schemas/Address"
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date",
            "description": "Date of birth in format yyyy-mm-dd."
          },
          "countryOfBirth": {
            "type": "string",
            "description": "Three-letter alpha-3 country code as defined in the ISO 3166-1 spec."
          },
          "stateOfBirth": {
            "type": "string",
            "description": "The state, region, district, county or another territorial entity of birth inside a country, if applicable."
          },
          "placeOfBirth": {
            "type": "string",
            "description": "User place of birth. This can be a city, a town or another settlement type."
          },
          "gender": {
            "type": "string",
            "enum": [
              "M",
              "F"
            ]
          },
          "country": {
            "type": "string",
            "description": "User country. This is usually a country of the last uploaded ID document, and it may differ from the country of birth. \nThree-letter alpha-3 country code as defined in the ISO 3166-1 spec.\n"
          },
          "taxIdentificationNumber": {
            "type": "string",
            "description": "Taxpayer identification number that is unique to each taxpayer.\nFor individual US customers, SSN should be used. \nFor business US customers, EIN should be used.\nIf the user does not have a tax identification number for valid reasons, please pass nine nines \"999999999\".\n"
          },
          "taxResidenceCountry": {
            "type": "string",
            "description": "Three-letter alpha-3 country code as defined in the ISO 3166-1 spec."
          },
          "ipAddress": {
            "type": "string",
            "description": "IP address of the user. \n\n(See [here](https://docs.hifi.com/docs/compliance/regions) for the list of unsupported countries/states.)\n",
            "format": "ipv4"
          },
          "govIdType": {
            "type": "string",
            "enum": [
              "PASSPORT",
              "ID_CARD",
              "DRIVERS",
              "RESIDENCE_PERMIT"
            ]
          },
          "govIdFrontUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the front of the user's government issued ID.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "govIdBackUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the back of the user's government issued ID.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "govIdCountry": {
            "type": "string",
            "description": "Alpha-3 country code of the provided government id as defined in the ISO 3166-1 spec. Note that the government ID may be different from the 'country' above.\n"
          },
          "govIdNumber": {
            "type": "string"
          },
          "govIdIssuanceDate": {
            "type": "string",
            "format": "date",
            "description": "The issue date of the Gov ID document in format yyyy-mm-dd."
          },
          "govIdExpirationDate": {
            "type": "string",
            "format": "date",
            "description": "The expiry date of the Gov ID document in format yyyy-mm-dd.\n"
          },
          "govIdIssuanceAuthority": {
            "type": "string",
            "description": "Issuing authority of the Gov ID document."
          },
          "govIdHandHoldUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of image of the user holding their government issued ID next to their face.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "proofOfAddressType": {
            "type": "string",
            "enum": [
              "UTILITY_BILL",
              "BANK_STATEMENT",
              "RENTAL_AGREEMENT",
              "TAX_DOCUMENT"
            ]
          },
          "proofOfAddressUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the file of the proof of address.\n\n(See [here](https://docs.hifi.com/docs/compliance/regions) for the list of unsupported countries/states.)\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "sofEuQuestionnaire": {
            "type": "object",
            "title": "Source of Funds and Expected Use Questionnaire",
            "description": "Source of Funds and Expected Use Questionnaire",
            "$ref": "#/components/schemas/SofEuKycQuestionnaire"
          },
          "idType": {
            "type": "string",
            "enum": [
              "PASSPORT",
              "ID_CARD",
              "DRIVERS",
              "NIN"
            ]
          },
          "idNumber": {
            "type": "string"
          },
          "additionalIdType": {
            "type": "string",
            "description": "Required only for \"AFRICA_NIGERIA\" rail and must be \"BVN\" type:\n"
          },
          "additionalIdNumber": {
            "type": "string",
            "description": "Required only for \"AFRICA_NIGERIA\" rail and must be the BVN number.\n"
          },
          "purpose": {
            "type": "array",
            "description": "The purposes for unlocking this rail. Multiple values can be put into an array. Only required for `MULTI_CURRENCY_ACCOUNT` rail. \n\nLook up the purpose code [here](https://docs.hifi.com/docs/compliance/references/account-purposes).\n",
            "items": {
              "type": "string",
              "enum": [
                "PAY_SUPPLIERS",
                "PAY_SERVICE_PROVIDERS",
                "GOODS_MERCHANDISE_COMMODITIES",
                "FREELANCERS_CONTRACTORS_PAYROLL",
                "FINANCIAL_SERVICES_LOANS_INVESTMENTS",
                "TAX_REGULATORY_FEES",
                "LEGAL_SERVICES",
                "OPERATIONAL_EXPENSES",
                "SUBSCRIPTIONS",
                "TRAVEL_RELATED_EXPENSES",
                "INSURANCE",
                "ADVERTISING_MARKETING_EXPENSES",
                "EQUIPMENT_MACHINERY",
                "TECHNOLOGY_SERVICES",
                "EDUCATION_RELATED_EXPENSES",
                "TREASURY_PAYMENTS",
                "FX_SERVICES",
                "OTHER",
                "ONLINE_MARKETPLACE_TRADING",
                "OFFLINE_TRADING"
              ]
            }
          },
          "productServiceCategory": {
            "type": "string",
            "description": "The category of the product or service the user is in. Only required for `MULTI_CURRENCY_ACCOUNT` rail.\n\nLook up the product and service category code [here](https://docs.hifi.com/docs/compliance/references/product-service-categories).\n"
          },
          "supplementaryInfo": {
            "type": "string",
            "description": "This field allows the inclusion of additional textual information or context that may be relevant to the KYC process.\n"
          },
          "supplementaryUrl": {
            "type": "string",
            "description": "This field is designed to contain supplementary documents or files that can be uploaded as part of the KYC process.\n\nURL or Base64 encoded string of the file of the supplementary information.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          }
        }
      },
      "BusinessKycUpdate": {
        "type": "object",
        "title": "Update Business User KYC",
        "properties": {
          "businessName": {
            "type": "string",
            "description": "The full legal name of the business."
          },
          "businessNameLocal": {
            "type": "string",
            "description": "The full legal name of the business in the local language.\n"
          },
          "alternativeNames": {
            "type": "array",
            "description": "The business's \"doing business as\" (DBA) name, if any.",
            "maxItems": 1,
            "items": {
              "type": "string"
            }
          },
          "businessDescription": {
            "type": "string"
          },
          "businessIndustry": {
            "type": "string",
            "description": "The industry in which this business operates. Click [here](https://docs.hifi.com/docs/compliance/references/business-industries) for the complete list of valid industries and codes."
          },
          "businessType": {
            "type": "string",
            "description": "The type of business structure that most closely matches the business customer.",
            "enum": [
              "cooperative",
              "s_corporation",
              "b_corporation",
              "c_corporation",
              "close_corporation",
              "nonprofit_corporation",
              "general_partnership",
              "limited_partnership",
              "limited_liability_company",
              "other",
              "sole_proprietorship",
              "trust"
            ]
          },
          "email": {
            "type": "string",
            "description": "Email address for compliance-related communications.",
            "format": "email"
          },
          "phone": {
            "type": "string",
            "description": "Phone number in E.164 format \"+12223334444\"."
          },
          "taxIdentificationNumberType": {
            "type": "string",
            "description": "Company tax id type",
            "enum": [
              "EIN",
              "SSN",
              "VAT",
              "TIN",
              "UTR"
            ]
          },
          "taxIdentificationNumber": {
            "type": "string",
            "description": "Company tax number. US businesses should provide EIN. If the user does not have a tax identification number for valid reasons, please pass nine nines \"999999999\"."
          },
          "registrationNumber": {
            "type": "string",
            "description": "Business Registration Number."
          },
          "leiNumber": {
            "type": "string",
            "description": "Legal Entity Identifier (LEI) is a 20-character alphanumeric code that uniquely identifies a legal entity participating in financial transactions.\nLEI is required for businesses based in the European Economic Area (EEA) and Switzerland.\n"
          },
          "formationDate": {
            "type": "string",
            "description": "Company formation date.",
            "format": "date"
          },
          "incorporationDate": {
            "type": "string",
            "format": "date",
            "description": "Date of incorporation in format yyyy-mm-dd."
          },
          "incorporationCountry": {
            "type": "string",
            "description": "Three-letter alpha-3 country code as defined in the ISO 3166-1 spec."
          },
          "incorporationState": {
            "type": "string"
          },
          "website": {
            "type": "string"
          },
          "address": {
            "type": "object",
            "description": "Company office address.",
            "$ref": "#/components/schemas/Address"
          },
          "registeredAddress": {
            "type": "object",
            "description": "The official registered office address of the business as filed with the relevant authority.",
            "$ref": "#/components/schemas/Address"
          },
          "postalAddress": {
            "type": "object",
            "description": "Business postal address.",
            "$ref": "#/components/schemas/Address"
          },
          "ipAddress": {
            "type": "string",
            "description": "IP address of the user.\n\n(See [here](https://docs.hifi.com/docs/compliance/regions) for the list of unsupported countries/states.)\n",
            "format": "ipv4"
          },
          "sourceOfFunds": {
            "type": "string",
            "description": "The source of funds for the business, e.g. profits, income, venture capital, etc."
          },
          "transmitsCustomerFunds": {
            "type": "boolean",
            "description": "True if the business transmits funds on behalf of its customers."
          },
          "complianceScreeningExplanation": {
            "type": "string",
            "description": "Required if transmitsCustomerFunds is true. An explanation of types of compliance screening (KYC, KYB, or AML) the customer performs before transmitting funds on behalf of its customers.\n"
          },
          "daoStatus": {
            "type": "boolean",
            "description": "Whether the business is a DAO (Decentralized Autonomous Organization)"
          },
          "proofOfAddressType": {
            "type": "string",
            "enum": [
              "UTILITY_BILL",
              "BANK_STATEMENT",
              "RENTAL_AGREEMENT",
              "TAX_DOCUMENT"
            ]
          },
          "proofOfAddressUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the proof of address that ties the owner's name to the provided address. Typically a utility bill or bank statement.\nRequired for businesses registered or operating in the EEA (European Economic Area).\nUtility bills and bank statements are recommended for proof of address.\n\n(See [here](https://docs.hifi.com/docs/compliance/regions) for the list of unsupported countries/states.)\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "formationDocUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the formation documentation. \n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "proofOfOwnershipUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the ownership documentation.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "certificateOfRegistrationDocType": {
            "type": "string",
            "description": "Type of the certificate of registration doc.",
            "enum": [
              "ACRA",
              "GST",
              "MSME",
              "CERTIFICATE_OF_REGISTRATION"
            ]
          },
          "certificateOfRegistrationDocUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the certificate of registration.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "certificateNumber": {
            "type": "string",
            "description": "A unique number that identifies the business. This is usually the number shown on the certificate of registration.\n"
          },
          "businessRegistrationDocUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the business registration document. For business based in HKG only.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "licenseExpirationDate": {
            "type": "string",
            "format": "date",
            "description": "Expiry date of company license in format yyyy-mm-dd."
          },
          "certificateOfIncorporationDocUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the certificate of incorporation. For business based in HKG only.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "incorporationNumber": {
            "type": "string",
            "description": "Certificate of Incorporation Number."
          },
          "controlScheme": {
            "type": "string"
          },
          "shareStructureUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of of the shareholder structure file.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "constitutionOrAnnualReportUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the company constitution or annual report\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "articlesOfAssociationUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the articles of association.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "uboDeclarationUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the UBO (Ultimate Beneficial Owner) declaration.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "partnershipMinsOfMeetingUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the Partnership Meeting Minutes. For PARTNERSHIP business only.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "partnershipDeedUrl": {
            "type": "string",
            "description": "URL of the Partnership Agreement. For PARTNERSHIP business only.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "certificateOfIncumbencyUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the Certificate of Incumbency.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "organizationStructureUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the Organization Structure.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "sourceOfFundsUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the source of fund document.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "flowOfFundsUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the flow of funds document.\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "purpose": {
            "type": "array",
            "description": "The purposes for unlocking this rail. Multiple values can be put into an array. Only required for `MULTI_CURRENCY_ACCOUNT` rail. \n\nLook up the purpose code [here](https://docs.hifi.com/docs/compliance/references/account-purposes).\n",
            "items": {
              "type": "string",
              "enum": [
                "PAY_SUPPLIERS",
                "PAY_SERVICE_PROVIDERS",
                "GOODS_MERCHANDISE_COMMODITIES",
                "FREELANCERS_CONTRACTORS_PAYROLL",
                "FINANCIAL_SERVICES_LOANS_INVESTMENTS",
                "TAX_REGULATORY_FEES",
                "LEGAL_SERVICES",
                "OPERATIONAL_EXPENSES",
                "SUBSCRIPTIONS",
                "TRAVEL_RELATED_EXPENSES",
                "INSURANCE",
                "ADVERTISING_MARKETING_EXPENSES",
                "EQUIPMENT_MACHINERY",
                "TECHNOLOGY_SERVICES",
                "EDUCATION_RELATED_EXPENSES",
                "TREASURY_PAYMENTS",
                "FX_SERVICES",
                "OTHER",
                "ONLINE_MARKETPLACE_TRADING",
                "OFFLINE_TRADING"
              ]
            }
          },
          "productServiceCategory": {
            "type": "string",
            "description": "The category of the product or service the user is in. \n\nLook up the product and service category code [here](https://docs.hifi.com/docs/compliance/references/product-service-categories).\n"
          },
          "tradeName": {
            "type": "string",
            "description": "Enterprise trading name. This information is only required if the customer’s business `purpose` includes `OFFLINE`.\n"
          },
          "exportCountry": {
            "type": "string",
            "description": "Export country. This information is only required if the customer’s business `purpose` includes `OFFLINE`.\n"
          },
          "tradeType": {
            "type": "string",
            "description": "Trade type. This information is only required if the customer’s business `purpose` includes `OFFLINE`.\nLook up export item category codes [here](https://docs.hifi.com/docs/compliance/references/export-categories).\n"
          },
          "supplementaryInfo": {
            "type": "string",
            "description": "This field allows the inclusion of additional textual information or context that may be relevant to the KYC process.\n"
          },
          "supplementaryUrl": {
            "type": "string",
            "description": "This field is designed to contain supplementary documents or files that can be uploaded as part of the KYC process.\n\nURL or Base64 encoded string of the file of the supplementary information.\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "sofEuQuestionnaire": {
            "type": "object",
            "title": "Source of Funds and Expected Use Questionnaire",
            "description": "Source of Funds and Expected Use Questionnaire",
            "$ref": "#/components/schemas/SofEuKybQuestionnaire"
          },
          "ultimateBeneficialOwners": {
            "type": "array",
            "description": "List of ultimate beneficial owners (UBOs) of the business. This list will replace any existing UBOs.\n\nNote: This field is deprecated and will be removed in the future. To add or update a specific UBO, please use the UBO-specific endpoints instead.\n",
            "deprecated": true,
            "items": {
              "$ref": "#/components/schemas/UltimateBeneficialOwner"
            }
          }
        }
      },
      "UltimateBeneficialOwner": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string",
            "deprecated": true,
            "description": "The role of the ubo in the business.",
            "enum": [
              "OWNER_OR_OPERATOR",
              "PARTNER",
              "UBO",
              "DIRECTOR_CONTROL_PERSON_OR_LEGAL_REP",
              "AGENT_OR_AUTHORISED_PERSON"
            ]
          },
          "roles": {
            "type": "array",
            "description": "The roles of the ubo in the business.",
            "items": {
              "type": "string",
              "enum": [
                "UBO",
                "DIRECTOR",
                "REPRESENTATIVE",
                "SHAREHOLDER"
              ]
            }
          },
          "businessTitle": {
            "type": "string",
            "description": "Agent or authorised person‘s job title."
          },
          "firstName": {
            "type": "string",
            "description": "first name in local language."
          },
          "firstNameLocal": {
            "type": "string"
          },
          "middleName": {
            "type": "string"
          },
          "middleNameLocal": {
            "type": "string",
            "description": "middle name in local language."
          },
          "lastName": {
            "type": "string"
          },
          "lastNameLocal": {
            "type": "string",
            "description": "last name in local language."
          },
          "nationality": {
            "type": "string",
            "description": "Three-letter alpha-3 country code as defined in the ISO 3166-1 spec."
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "type": "string"
          },
          "address": {
            "type": "object",
            "description": "Address of the user.",
            "$ref": "#/components/schemas/Address"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth in format yyyy-mm-dd.",
            "format": "date"
          },
          "countryOfBirth": {
            "type": "string",
            "description": "Three-letter alpha-3 country code as defined in the ISO 3166-1 spec."
          },
          "stateOfBirth": {
            "type": "string"
          },
          "placeOfBirth": {
            "type": "string"
          },
          "gender": {
            "type": "string",
            "enum": [
              "M",
              "F"
            ]
          },
          "taxIdentificationNumber": {
            "type": "string",
            "description": "For US owners, SSN should be used. For non-US individual owners, a national ID is preferred where applicable; however, a tax ID can also be used as an alternative. If the user does not have a tax identification number for valid reasons, please pass nine nines \"999999999\"."
          },
          "taxResidenceCountry": {
            "type": "string",
            "description": "Three-letter alpha-3 country code as defined in the ISO 3166-1 spec."
          },
          "govIdType": {
            "type": "string",
            "enum": [
              "PASSPORT",
              "ID_CARD",
              "DRIVERS"
            ]
          },
          "govIdCountry": {
            "type": "string",
            "description": "Three-letter alpha-3 country code of the submitted government id as defined in the ISO 3166-1 spec."
          },
          "govIdNumber": {
            "type": "string"
          },
          "govIdFrontUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the front of the user's government issued ID.\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "govIdBackUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the back of the user's government issued ID.\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "govIdIssuanceDate": {
            "type": "string",
            "format": "date",
            "description": "The issue date of the Gov ID document in format yyyy-mm-dd."
          },
          "govIdExpirationDate": {
            "type": "string",
            "format": "date",
            "description": "The expiry date of the Gov ID document in format yyyy-mm-dd."
          },
          "govIdIssuanceAuthority": {
            "type": "string",
            "description": "Issuing authority of the Gov ID document."
          },
          "proofOfAddressType": {
            "type": "string",
            "enum": [
              "UTILITY_BILL",
              "BANK_STATEMENT",
              "RENTAL_AGREEMENT",
              "TAX_DOCUMENT"
            ]
          },
          "proofOfAddressUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the file of the proof of address.\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "authLetterUrl": {
            "type": "string",
            "description": "URL or Base64 encoded string of the authorization letter that the authorised person can act on behalf of the business.\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "shareProportion": {
            "type": "number",
            "description": "Percentage of shares owned (greater than or equal to 25%), only for UBOs.\n"
          },
          "hasOwnership": {
            "type": "boolean",
            "description": "True if the person has at least 25% ownership of the business."
          },
          "hasControl": {
            "type": "boolean",
            "description": "True if the person has a significant responsibility to control, manage, or direct the activities of the business. At least one of the ultimateBeneficialOwners needs to have this set to true."
          },
          "isSigner": {
            "type": "boolean",
            "description": "True if the person can authorize transactions on behalf of the business. At least one of the ultimateBeneficialOwners needs to have this set to true."
          },
          "relationshipEstablishedAt": {
            "type": "string",
            "format": "date",
            "description": "The date that the ultimateBeneficialOwners first became an owner, control person, or signer for the business in format yyyy-mm-dd."
          },
          "supplementaryInfo": {
            "type": "string",
            "description": "This field allows the inclusion of additional textual information or context that may be relevant to the KYC process.\n"
          },
          "supplementaryUrl": {
            "type": "string",
            "description": "This field is designed to contain supplementary documents or files that can be uploaded as part of the KYC process.\n\nURL or Base64 encoded string of the file of the supplementary information.\n\n*If the file is base64 encoded, it must start with \"data:\"\n\n*Maximum file size 3MB and minimum file size 10KB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          }
        }
      },
      "UboAdd": {
        "type": "object",
        "title": "Add UBO",
        "allOf": [
          {
            "$ref": "#/components/schemas/UltimateBeneficialOwner"
          }
        ],
        "required": [
          "roles",
          "firstName",
          "lastName"
        ]
      },
      "UboUpdate": {
        "type": "object",
        "title": "Add UBO",
        "allOf": [
          {
            "$ref": "#/components/schemas/UltimateBeneficialOwner"
          }
        ]
      },
      "Address": {
        "type": "object",
        "properties": {
          "addressLine1": {
            "type": "string"
          },
          "addressLine2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "stateProvinceRegion": {
            "type": "string",
            "description": "The second part of the [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2). This must be provided if the country has subdivisions.\n\nAn ISO 3166-2 code consists of two parts, separated by a hyphen (`-`):\n  1. The first part is the ISO 3166-1 alpha-2 code of the country (e.g., `US`, `CA`, `BR`);\n  2. The second part is a string of up to three alphanumeric characters representing a specific subdivision (e.g., state, province). This is typically based on national standards or developed by ISO.\n\n  Only provide the second part of the code (e.g., `CA` for California in `US-CA`, or `SP` for São Paulo in `BR-SP`).\n"
          },
          "postalCode": {
            "type": "string",
            "description": "Must be supplied for countries that use postal codes."
          },
          "country": {
            "type": "string",
            "description": "Three-letter alpha-3 country code as defined in the [ISO 3166-1 spec](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)."
          }
        },
        "required": [
          "addressLine1",
          "city",
          "stateProvinceRegion",
          "postalCode",
          "country"
        ]
      },
      "Rails": {
        "type": "object",
        "properties": {
          "rails": {
            "$ref": "#/components/schemas/RailsEnum"
          }
        },
        "required": [
          "rails"
        ]
      },
      "ImportKycToken": {
        "type": "object",
        "required": [
          "tokenProvider",
          "token"
        ],
        "properties": {
          "tokenProvider": {
            "type": "string",
            "enum": [
              "SUMSUB"
            ],
            "description": "The KYC token provider"
          },
          "token": {
            "type": "string",
            "description": "The KYC token from the provider"
          }
        }
      },
      "SofEuKycQuestionnaire": {
        "type": "object",
        "properties": {
          "actingAsIntermediary": {
            "type": "boolean",
            "description": "Is the customer acting as an intermediary for a third party?"
          },
          "employmentStatus": {
            "type": "string",
            "description": "What is the customer's current employment status?",
            "enum": [
              "employed",
              "homemaker",
              "retired",
              "self_employed",
              "student",
              "unemployed"
            ]
          },
          "expectedMonthlyPayments": {
            "type": "string",
            "description": "What is the expected monthly volume of payments the customer will be sending or receiving?",
            "enum": [
              "0_4999",
              "5000_9999",
              "10000_49999",
              "50000_plus"
            ]
          },
          "mostRecentOccupation": {
            "type": "string",
            "description": "What is the customer's most recent occupation? Specify the relevant alphanumeric occupation code. \nSee the [list](https://docs.hifi.com/docs/compliance/references/occupations) of occupations for the complete list of valid occupations and codes.\n"
          },
          "primaryPurpose": {
            "type": "string",
            "description": "What is the primary purpose of the customer's account?",
            "enum": [
              "charitable_donations",
              "ecommerce_retail_payments",
              "investment_purposes",
              "operating_a_company",
              "payments_to_friends_or_family_abroad",
              "personal_or_living_expenses",
              "protect_wealth",
              "purchase_goods_and_services",
              "receive_payment_for_freelancing",
              "receive_salary",
              "other"
            ]
          },
          "primaryPurposeOther": {
            "type": "string",
            "description": "Required if the primary purpose is 'other'."
          },
          "sourceOfFunds": {
            "type": "string",
            "description": "What is the source of funds for the customer's account?",
            "enum": [
              "company_funds",
              "ecommerce_reseller",
              "gambling_proceeds",
              "gifts",
              "government_benefits",
              "inheritance",
              "investments_loans",
              "pension_retirement",
              "salary",
              "sale_of_assets_real_estate",
              "savings",
              "someone_elses_funds"
            ]
          }
        }
      },
      "SofEuKybQuestionnaire": {
        "type": "object",
        "properties": {
          "estimatedAnnualRevenueUsd": {
            "type": "string",
            "description": "Estimated annual revenue in USD.",
            "enum": [
              "0_99999",
              "100000_999999",
              "1000000_9999999",
              "10000000_49999999",
              "50000000_249999999",
              "250000000_plus"
            ]
          },
          "expectedMonthlyPaymentsUsd": {
            "type": "string",
            "description": "Expected monthly payments in USD."
          },
          "operatesInProhibitedCountries": {
            "type": "boolean",
            "deprecated": true
          },
          "primaryPurpose": {
            "type": "string",
            "description": "What is the primary purpose of the business account?",
            "enum": [
              "charitable_donations",
              "ecommerce_retail_payments",
              "investment_purposes",
              "other",
              "payments_to_friends_or_family_abroad",
              "payroll",
              "personal_or_living_expenses",
              "protect_wealth",
              "purchase_goods_and_services",
              "receive_payments_for_goods_and_services",
              "tax_optimization",
              "third_party_money_transmission",
              "treasury_management"
            ]
          },
          "primaryPurposeOther": {
            "type": "string",
            "description": "Required if the primary purpose is 'other'."
          },
          "highRiskActivities": {
            "type": "array",
            "description": "List of high-risk activities the business is involved in.",
            "items": {
              "type": "string",
              "enum": [
                "none_of_the_above",
                "adult_entertainment",
                "gambling",
                "hold_client_funds",
                "investment_services",
                "lending_banking",
                "marijuana_or_related_services",
                "money_services",
                "operate_foreign_exchange_virtual_currencies_brokerage_otc",
                "safe_deposit_box_rentals",
                "third_party_payment_processing",
                "weapons_firearms_and_explosives"
              ]
            }
          },
          "sourceOfFunds": {
            "type": "string",
            "description": "What is the source of funds for the business account?",
            "enum": [
              "business_loans",
              "grants",
              "inter_company_funds",
              "investment_proceeds",
              "legal_settlement",
              "owners_capital",
              "pension_retirement",
              "sale_of_assets",
              "sales_of_goods_and_services",
              "tax_refund",
              "third_party_funds",
              "treasury_reserves"
            ]
          },
          "sourceOfFundsDescription": {
            "type": "string",
            "description": "Description of the source of funds for the business' account."
          },
          "transmitsCustomerFunds": {
            "type": "boolean",
            "description": "Specifies whether the business directly receives, holds, or sends customer funds to another party on behalf of its users. \nA value of true means the business is acting as a money transmitter and is subject to money transmission regulations in addition to general money service obligations.\n"
          },
          "transmitsCustomerFundsDescription": {
            "type": "string",
            "description": "Describes whether and how the business actively transmits customer funds. i.e., moves money from one party to another on behalf of a customer (e.g., sending, remitting, or transferring funds). \nThis field should clarify the money-transmission activity performed.\n"
          },
          "customerFundsDescription": {
            "type": "string",
            "description": "Describes the nature of the customer funds handled by the business. This field explains the characteristics of the funds rather than the act of transmitting them.\n"
          },
          "conductsMoneyServices": {
            "type": "boolean",
            "description": "Indicates whether the business is engaged in providing money services as a line of business (e.g., money transmission, currency exchange, or other regulated financial activities). \nA value of true means the business is considered a Money Services Business (MSB) under applicable regulations and may be subject to AML, KYC, and licensing requirements.\n"
          }
        }
      },
      "IndividualDocumentAdd": {
        "type": "array",
        "title": "Add Individual Document",
        "description": "An array of documents to be added.",
        "items": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Type of the document. This field is immutable once created.\n",
              "enum": [
                "DRIVERS",
                "ID_CARD",
                "PASSPORT",
                "INCOME_SOURCE",
                "INVESTOR_DOC",
                "PAYMENT_SOURCE",
                "RESIDENCE_PERMIT",
                "PROOF_OF_ADDRESS",
                "AUTH_LETTER",
                "UTILITY_BILL",
                "BANK_STATEMENT",
                "RENTAL_AGREEMENT",
                "TAX_DOCUMENT",
                "VOTER_REGISTRATION_CARD",
                "BANK_REFERENCE_LETTER",
                "LEASE_OR_TENANCY_AGREEMENT",
                "OTHER"
              ]
            },
            "subType": {
              "type": "string",
              "description": "Subtype of the document. This field is immutable once created.\n",
              "enum": [
                "FRONT_SIDE",
                "BACK_SIDE",
                "SINGLE_SIDE"
              ]
            },
            "issuedCountry": {
              "type": "string",
              "description": "Three-letter alpha-3 country code as defined in the ISO 3166-1 spec."
            },
            "issuedDate": {
              "type": "string",
              "description": "Date of issue of the document.",
              "format": "date"
            },
            "expiryDate": {
              "type": "string",
              "description": "Expiry date of the document.",
              "format": "date"
            },
            "number": {
              "type": "string",
              "description": "If applicable, unique identification number of the document."
            },
            "description": {
              "type": "string",
              "description": "Description of the document. Required if type is `OTHER`."
            },
            "url": {
              "type": "string",
              "deprecated": true,
              "description": "URL of the document. Either `url` or `fileId` is required, but not both.\n\n*Maximum file size 10MB and minimum file size 10KB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
            },
            "fileId": {
              "type": "string",
              "description": "The file ID returned from the file upload endpoint. Either `url` or `fileId` is required, but not both."
            },
            "uboId": {
              "type": "string",
              "description": "If provided, this document will be attached to the specified UBO. This field is immutable once created."
            }
          },
          "required": [
            "type",
            "subType",
            "issuedCountry"
          ]
        }
      },
      "BusinessDocumentAdd": {
        "type": "array",
        "title": "Add Business Document",
        "description": "An array of documents to be added.",
        "items": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Type of the document. This field is immutable once created.\n",
              "enum": [
                "DIRECTORS_REGISTRY",
                "GOOD_STANDING_CERT",
                "INCORPORATION_ARTICLES",
                "INCORPORATION_CERT",
                "INCUMBENCY_CERT",
                "INFORMATION_STATEMENT",
                "POWER_OF_ATTORNEY",
                "PROOF_OF_ADDRESS",
                "SHAREHOLDER_REGISTRY",
                "STATE_REGISTRY",
                "TRUST_AGREEMENT",
                "SOURCE_OF_FUNDS",
                "FORMATION_CERT",
                "REGISTRATION_CERT",
                "PROOF_OF_OWNERSHIP",
                "CONSTITUTION_OR_ANNUAL_REPORT",
                "ARTICLES_OF_ASSOCIATION",
                "UBO_DECLARATION",
                "PARTNERSHIP_MINS_OF_MEETING",
                "PARTNERSHIP_DEED",
                "FLOW_OF_FUNDS",
                "SOURCE_OF_FUNDS",
                "ORGANIZATION_STRUCTURE",
                "SHARE_STRUCTURE",
                "BUSINESS_REGISTRATION",
                "DBA_DOC",
                "OTHER"
              ]
            },
            "subType": {
              "type": "string",
              "description": "Subtype of the document. This field is immutable once created.\n",
              "enum": [
                "SINGLE_SIDE"
              ]
            },
            "issuedCountry": {
              "type": "string",
              "description": "Three-letter alpha-3 country code as defined in the ISO 3166-1 spec."
            },
            "issuedDate": {
              "type": "string",
              "description": "Date of issue of the document.",
              "format": "date"
            },
            "expiryDate": {
              "type": "string",
              "description": "Expiry date of the document.",
              "format": "date"
            },
            "number": {
              "type": "string",
              "description": "If applicable, unique identification number of the document."
            },
            "description": {
              "type": "string",
              "description": "Description of the document. Required if type is `OTHER`."
            },
            "url": {
              "type": "string",
              "deprecated": true,
              "description": "URL of the document. Either `url` or `fileId` is required, but not both.\n\n*Maximum file size 10MB and minimum file size 10KB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
            },
            "fileId": {
              "type": "string",
              "description": "The file ID returned from the file upload endpoint. Either `url` or `fileId` is required, but not both."
            },
            "uboId": {
              "type": "string",
              "description": "If provided, this document will be attached to the specified UBO. This field is immutable once created."
            }
          },
          "required": [
            "type",
            "subType",
            "issuedCountry"
          ]
        }
      },
      "IndividualDocumentUpdate": {
        "type": "object",
        "title": "Update Individual Document",
        "properties": {
          "issuedCountry": {
            "type": "string",
            "description": "Three-letter alpha-3 country code as defined in the ISO 3166-1 spec."
          },
          "issuedDate": {
            "type": "string",
            "description": "Date of issue of the document.",
            "format": "date"
          },
          "expiryDate": {
            "type": "string",
            "description": "Expiry date of the document.",
            "format": "date"
          },
          "number": {
            "type": "string",
            "description": "If applicable, unique identification number of the document."
          },
          "description": {
            "type": "string",
            "description": "Description of the document. Required if type is `OTHER`."
          },
          "url": {
            "type": "string",
            "deprecated": true,
            "description": "URL of the document. Either `url` or `fileId` is required, but not both.\n\n*Maximum file size 10MB and minimum file size 10KB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "fileId": {
            "type": "string",
            "description": "The file ID returned from the file upload endpoint. Either `url` or `fileId` is required, but not both."
          }
        }
      },
      "BusinessDocumentUpdate": {
        "type": "object",
        "title": "Update Business Document",
        "properties": {
          "issuedCountry": {
            "type": "string",
            "description": "Three-letter alpha-3 country code as defined in the ISO 3166-1 spec."
          },
          "issuedDate": {
            "type": "string",
            "description": "Date of issue of the document.",
            "format": "date"
          },
          "expiryDate": {
            "type": "string",
            "description": "Expiry date of the document.",
            "format": "date"
          },
          "number": {
            "type": "string",
            "description": "If applicable, unique identification number of the document."
          },
          "description": {
            "type": "string",
            "description": "Description of the document. Required if type is `OTHER`."
          },
          "url": {
            "type": "string",
            "deprecated": true,
            "description": "URL of the document. Either `url` or `fileId` is required, but not both.\n\n*Maximum file size 10MB and minimum file size 10KB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif\n"
          },
          "fileId": {
            "type": "string",
            "description": "The file ID returned from the file upload endpoint. Either `url` or `fileId` is required, but not both."
          }
        }
      },
      "KycIndividualObject": {
        "type": "object",
        "title": "KYC Object (Individual)",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "kycInfo": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "individual"
                ]
              },
              "firstName": {
                "type": "string"
              },
              "firstNameLocal": {
                "type": "string"
              },
              "middleName": {
                "type": "string"
              },
              "middleNameLocal": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "lastNameLocal": {
                "type": "string"
              },
              "nationality": {
                "type": "string"
              },
              "email": {
                "type": "string",
                "format": "email"
              },
              "phone": {
                "type": "string"
              },
              "address": {
                "type": "object",
                "$ref": "#/components/schemas/Address"
              },
              "dateOfBirth": {
                "type": "string"
              },
              "countryOfBirth": {
                "type": "string"
              },
              "stateOfBirth": {
                "type": "string"
              },
              "placeOfBirth": {
                "type": "string"
              },
              "gender": {
                "type": "string"
              },
              "country": {
                "type": "string"
              },
              "taxIdentificationNumber": {
                "type": "string"
              },
              "taxResidenceCountry": {
                "type": "string"
              },
              "govIdType": {
                "type": "string"
              },
              "govIdFrontUrl": {
                "type": "string"
              },
              "govIdBackUrl": {
                "type": "string"
              },
              "govIdCountry": {
                "type": "string"
              },
              "govIdNumber": {
                "type": "string"
              },
              "govIdIssuanceDate": {
                "type": "string"
              },
              "govIdExpirationDate": {
                "type": "string"
              },
              "govIdIssuanceAuthority": {
                "type": "string"
              },
              "govIdHandHoldUrl": {
                "type": "string"
              },
              "proofOfAddressType": {
                "type": "string"
              },
              "proofOfAddressUrl": {
                "type": "string"
              },
              "sofEuQuestionnaire": {
                "type": "object",
                "$ref": "#/components/schemas/SofEuKycQuestionnaire"
              },
              "ipAddress": {
                "type": "string"
              },
              "idType": {
                "type": "string"
              },
              "idNumber": {
                "type": "string"
              },
              "additionalIdType": {
                "type": "string"
              },
              "additionalIdNumber": {
                "type": "string"
              },
              "purpose": {
                "type": "string"
              },
              "productServiceCategory": {
                "type": "string"
              },
              "supplementaryInfo": {
                "type": "string"
              },
              "supplementaryUrl": {
                "type": "string"
              },
              "documents": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DocumentObject"
                }
              }
            }
          }
        }
      },
      "KycBusinessObject": {
        "type": "object",
        "title": "KYC Object (Business)",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "kycInfo": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "business"
                ]
              },
              "businessName": {
                "type": "string"
              },
              "businessNameLocal": {
                "type": "string"
              },
              "alternativeNames": {
                "type": "array",
                "description": "The business's \"doing business as\" (DBA) name, if any.",
                "maxItems": 1,
                "items": {
                  "type": "string"
                }
              },
              "businessDescription": {
                "type": "string"
              },
              "email": {
                "type": "string",
                "format": "email"
              },
              "phone": {
                "type": "string"
              },
              "sourceOfFunds": {
                "type": "string"
              },
              "businessType": {
                "type": "string"
              },
              "businessIndustry": {
                "type": "string"
              },
              "website": {
                "type": "string"
              },
              "address": {
                "type": "object",
                "$ref": "#/components/schemas/Address"
              },
              "registeredAddress": {
                "type": "object",
                "$ref": "#/components/schemas/Address"
              },
              "postalAddress": {
                "type": "object",
                "$ref": "#/components/schemas/Address"
              },
              "taxIdentificationNumberType": {
                "type": "string"
              },
              "taxIdentificationNumber": {
                "type": "string"
              },
              "leiNumber": {
                "type": "string"
              },
              "daoStatus": {
                "type": "boolean"
              },
              "transmitsCustomerFunds": {
                "type": "boolean"
              },
              "formationDate": {
                "type": "string"
              },
              "ipAddress": {
                "type": "string",
                "format": "ipv4"
              },
              "formationDocUrl": {
                "type": "string"
              },
              "proofOfOwnershipUrl": {
                "type": "string"
              },
              "complianceScreeningExplanation": {
                "type": "string"
              },
              "ultimateBeneficialOwners": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UboObject"
                }
              },
              "proofOfAddressType": {
                "type": "string"
              },
              "proofOfAddressUrl": {
                "type": "string"
              },
              "certificateOfRegistrationDocType": {
                "type": "string"
              },
              "certificateOfRegistrationDocUrl": {
                "type": "string"
              },
              "certificateNumber": {
                "type": "string"
              },
              "businessRegistrationDocUrl": {
                "type": "string"
              },
              "registrationNumber": {
                "type": "string"
              },
              "licenseExpirationDate": {
                "type": "string"
              },
              "certificateOfIncorporationDocUrl": {
                "type": "string"
              },
              "incorporationNumber": {
                "type": "string"
              },
              "incorporationDate": {
                "type": "string"
              },
              "incorporationCountry": {
                "type": "string"
              },
              "incorporationState": {
                "type": "string"
              },
              "controlScheme": {
                "type": "string"
              },
              "shareStructureUrl": {
                "type": "string"
              },
              "constitutionOrAnnualReportUrl": {
                "type": "string"
              },
              "articlesOfAssociationUrl": {
                "type": "string"
              },
              "uboDeclarationUrl": {
                "type": "string"
              },
              "partnershipMinsOfMeetingUrl": {
                "type": "string"
              },
              "partnershipDeedUrl": {
                "type": "string"
              },
              "certificateOfIncumbencyUrl": {
                "type": "string"
              },
              "sourceOfFundsUrl": {
                "type": "string"
              },
              "organizationStructureUrl": {
                "type": "string"
              },
              "flowOfFundsUrl": {
                "type": "string"
              },
              "purpose": {
                "type": "string"
              },
              "productServiceCategory": {
                "type": "string"
              },
              "tradeName": {
                "type": "string"
              },
              "exportCountry": {
                "type": "string"
              },
              "tradeType": {
                "type": "string"
              },
              "sofEuQuestionnaire": {
                "type": "object",
                "$ref": "#/components/schemas/SofEuKybQuestionnaire"
              },
              "supplementaryInfo": {
                "type": "string"
              },
              "supplementaryUrl": {
                "type": "string"
              },
              "documents": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DocumentObject"
                }
              }
            }
          }
        }
      },
      "UboObject": {
        "type": "object",
        "title": "UBO Object",
        "allOf": [
          {
            "$ref": "#/components/schemas/UboAdd"
          }
        ]
      },
      "UboObjectList": {
        "type": "object",
        "title": "UBO Object List",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The total number of documents."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UboObject"
            }
          }
        }
      },
      "DocumentObject": {
        "type": "object",
        "title": "Document Object",
        "properties": {
          "type": {
            "type": "string"
          },
          "subType": {
            "type": "string"
          },
          "issuedCountry": {
            "type": "string"
          },
          "issuedDate": {
            "type": "string",
            "format": "date"
          },
          "expiryDate": {
            "type": "string",
            "format": "date"
          },
          "number": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "deprecated": true
          },
          "fileId": {
            "type": "string"
          },
          "uboId": {
            "type": "string"
          }
        }
      },
      "DocumentObjectList": {
        "type": "object",
        "title": "Document Object List",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of documents."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentObject"
            }
          }
        }
      },
      "ReviewResultObject": {
        "type": "object",
        "title": "Review Result",
        "properties": {
          "reviewAnswer": {
            "type": "string",
            "enum": [
              "APPROVED",
              "DECLINED"
            ]
          },
          "reviewRejectType": {
            "type": "string",
            "enum": [
              "FINAL",
              "RETRY"
            ]
          },
          "rejectReasons": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "comment": {
            "type": "string"
          }
        }
      },
      "VerificationStatusObject": {
        "type": "object",
        "title": "Verification Status",
        "properties": {
          "reviewResult": {
            "$ref": "#/components/schemas/ReviewResultObject"
          }
        }
      },
      "DocumentVerificationStatusObject": {
        "type": "object",
        "title": "Document Verification Status",
        "properties": {
          "reviewResult": {
            "$ref": "#/components/schemas/ReviewResultObject"
          },
          "details": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "type": {
                  "type": "string",
                  "description": "Document type."
                },
                "subType": {
                  "type": "string",
                  "description": "Document subType."
                },
                "reviewResult": {
                  "$ref": "#/components/schemas/ReviewResultObject"
                }
              }
            }
          }
        }
      },
      "ReviewDetailsIndividualObject": {
        "type": "object",
        "title": "Review Details Individual",
        "properties": {
          "personalInfo": {
            "$ref": "#/components/schemas/VerificationStatusObject"
          },
          "identity": {
            "$ref": "#/components/schemas/DocumentVerificationStatusObject"
          },
          "proofOfAddress": {
            "$ref": "#/components/schemas/DocumentVerificationStatusObject"
          },
          "questionnaire": {
            "$ref": "#/components/schemas/VerificationStatusObject"
          }
        }
      },
      "UsdRailKycSubmissionObject": {
        "type": "object",
        "title": "Kyc Submission Object (USD)",
        "properties": {
          "USD": {
            "type": "object",
            "properties": {
              "status": {
                "$ref": "#/components/schemas/KycStatusEnum"
              },
              "message": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "message"
            ]
          }
        },
        "required": [
          "USD"
        ]
      },
      "AfricaGeneralRailKycSubmissionObject": {
        "type": "object",
        "title": "Kyc Submission Object (AFRICA_GENERAL)",
        "properties": {
          "AFRICA_GENERAL": {
            "type": "object",
            "properties": {
              "status": {
                "$ref": "#/components/schemas/KycStatusEnum"
              },
              "warnings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/KycWarningObject"
                }
              },
              "message": {
                "type": "string"
              },
              "onRamp": {
                "type": "object",
                "properties": {
                  "kes": {
                    "type": "object",
                    "properties": {
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "ghs": {
                    "type": "object",
                    "properties": {
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "tzs": {
                    "type": "object",
                    "properties": {
                      "bank": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "ugx": {
                    "type": "object",
                    "properties": {
                      "bank": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "bwp": {
                    "type": "object",
                    "properties": {
                      "bank": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "xaf": {
                    "type": "object",
                    "properties": {
                      "bank": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      },
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "mwk": {
                    "type": "object",
                    "properties": {
                      "bank": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      },
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "rwf": {
                    "type": "object",
                    "properties": {
                      "bank": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "zmw": {
                    "type": "object",
                    "properties": {
                      "bank": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      },
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "xof": {
                    "type": "object",
                    "properties": {
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  }
                }
              },
              "offRamp": {
                "type": "object",
                "properties": {
                  "kes": {
                    "type": "object",
                    "properties": {
                      "bank": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      },
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "zar": {
                    "type": "object",
                    "properties": {
                      "bank": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "ghs": {
                    "type": "object",
                    "properties": {
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "tzs": {
                    "type": "object",
                    "properties": {
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "ugx": {
                    "type": "object",
                    "properties": {
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "bwp": {
                    "type": "object",
                    "properties": {
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "xaf": {
                    "type": "object",
                    "properties": {
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "mwk": {
                    "type": "object",
                    "properties": {
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "rwf": {
                    "type": "object",
                    "properties": {
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "zmw": {
                    "type": "object",
                    "properties": {
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "xof": {
                    "type": "object",
                    "properties": {
                      "momo": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  }
                }
              }
            },
            "required": [
              "status",
              "warnings",
              "message",
              "onRamp",
              "offRamp"
            ]
          }
        },
        "required": [
          "AFRICA_GENERAL"
        ]
      },
      "AfricaNigeriaRailKycSubmissionObject": {
        "type": "object",
        "title": "Kyc Submission Object (AFRICA_NIGERIA)",
        "properties": {
          "AFRICA_NIGERIA": {
            "type": "object",
            "properties": {
              "status": {
                "$ref": "#/components/schemas/KycStatusEnum"
              },
              "warnings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/KycWarningObject"
                }
              },
              "message": {
                "type": "string"
              },
              "onRamp": {
                "type": "object",
                "properties": {
                  "ngn": {
                    "type": "object",
                    "properties": {
                      "bank": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  }
                }
              },
              "offRamp": {
                "type": "object",
                "properties": {
                  "ngn": {
                    "type": "object",
                    "properties": {
                      "bank": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  }
                }
              }
            },
            "required": [
              "status",
              "warnings",
              "message",
              "onRamp",
              "offRamp"
            ]
          }
        },
        "required": [
          "AFRICA_NIGERIA"
        ]
      },
      "GlobalNetworkRailKycSubmissionObject": {
        "type": "object",
        "title": "Kyc Submission Object (GLOBAL_NETWORK)",
        "properties": {
          "GLOBAL_NETWORK": {
            "type": "object",
            "properties": {
              "status": {
                "$ref": "#/components/schemas/KycStatusEnum"
              },
              "warnings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/KycWarningObject"
                }
              },
              "message": {
                "type": "string"
              },
              "onRamp": {
                "type": "object",
                "additionalProperties": false
              },
              "offRamp": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "brl": {
                    "type": "object",
                    "properties": {
                      "pix": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "hkd": {
                    "type": "object",
                    "properties": {
                      "wire": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "mxn": {
                    "type": "object",
                    "properties": {
                      "spei": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  },
                  "ngn": {
                    "type": "object",
                    "properties": {
                      "bank": {
                        "$ref": "#/components/schemas/KycRailStatusObject"
                      }
                    }
                  }
                }
              }
            },
            "required": [
              "status",
              "warnings",
              "message",
              "onRamp",
              "offRamp"
            ]
          }
        },
        "required": [
          "GLOBAL_NETWORK"
        ]
      },
      "ReviewDetailsBusinessObject": {
        "type": "object",
        "title": "Review Details Business Object",
        "properties": {
          "companyInfo": {
            "$ref": "#/components/schemas/VerificationStatusObject"
          },
          "companyDocuments": {
            "$ref": "#/components/schemas/DocumentVerificationStatusObject"
          },
          "questionnaire": {
            "$ref": "#/components/schemas/VerificationStatusObject"
          },
          "ultimateBeneficialOwners": {
            "type": "object",
            "properties": {
              "reviewResult": {
                "$ref": "#/components/schemas/ReviewResultObject"
              },
              "details": {
                "type": "array",
                "items": {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "description": "UBO ID."
                        }
                      }
                    },
                    {
                      "$ref": "#/components/schemas/UsdRailIndividualKycStatusObject"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "UsdRailIndividualKycStatusObject": {
        "type": "object",
        "title": "Kyc Status Object (USD - Individual)",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/KycStatusEnum"
          },
          "message": {
            "type": "string"
          },
          "reviewResult": {
            "$ref": "#/components/schemas/ReviewResultObject"
          },
          "details": {
            "$ref": "#/components/schemas/ReviewDetailsIndividualObject"
          }
        },
        "required": [
          "status",
          "message",
          "reviewResult",
          "details"
        ]
      },
      "UsdRailBusinessKycStatusObject": {
        "type": "object",
        "title": "Kyc Status Object (USD - Business)",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/KycStatusEnum"
          },
          "message": {
            "type": "string"
          },
          "reviewResult": {
            "$ref": "#/components/schemas/ReviewResultObject"
          },
          "details": {
            "$ref": "#/components/schemas/ReviewDetailsBusinessObject"
          }
        },
        "required": [
          "status",
          "message",
          "reviewResult",
          "details"
        ]
      },
      "AfricaGeneralRailKycStatusObject": {
        "type": "object",
        "title": "Kyc Status Object (AFRICA_GENERAL)",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/KycStatusEnum"
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KycWarningObject"
            }
          },
          "message": {
            "type": "string"
          },
          "onRamp": {
            "type": "object",
            "properties": {
              "kes": {
                "type": "object",
                "properties": {
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "ghs": {
                "type": "object",
                "properties": {
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "tzs": {
                "type": "object",
                "properties": {
                  "bank": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "ugx": {
                "type": "object",
                "properties": {
                  "bank": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "bwp": {
                "type": "object",
                "properties": {
                  "bank": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "xaf": {
                "type": "object",
                "properties": {
                  "bank": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  },
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "mwk": {
                "type": "object",
                "properties": {
                  "bank": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  },
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "rwf": {
                "type": "object",
                "properties": {
                  "bank": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "zmw": {
                "type": "object",
                "properties": {
                  "bank": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  },
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "xof": {
                "type": "object",
                "properties": {
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              }
            }
          },
          "offRamp": {
            "type": "object",
            "properties": {
              "kes": {
                "type": "object",
                "properties": {
                  "bank": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  },
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "zar": {
                "type": "object",
                "properties": {
                  "bank": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "ghs": {
                "type": "object",
                "properties": {
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "tzs": {
                "type": "object",
                "properties": {
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "ugx": {
                "type": "object",
                "properties": {
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "bwp": {
                "type": "object",
                "properties": {
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "xaf": {
                "type": "object",
                "properties": {
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "mwk": {
                "type": "object",
                "properties": {
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "rwf": {
                "type": "object",
                "properties": {
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "zmw": {
                "type": "object",
                "properties": {
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "xof": {
                "type": "object",
                "properties": {
                  "momo": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              }
            }
          }
        },
        "required": [
          "status",
          "warnings",
          "message",
          "onRamp",
          "offRamp"
        ]
      },
      "AfricaNigeriaRailKycStatusObject": {
        "type": "object",
        "title": "Kyc Status Object (AFRICA_NIGERIA)",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/KycStatusEnum"
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KycWarningObject"
            }
          },
          "message": {
            "type": "string"
          },
          "onRamp": {
            "type": "object",
            "properties": {
              "ngn": {
                "type": "object",
                "properties": {
                  "bank": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              }
            }
          },
          "offRamp": {
            "type": "object",
            "properties": {
              "ngn": {
                "type": "object",
                "properties": {
                  "bank": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              }
            }
          }
        },
        "required": [
          "status",
          "warnings",
          "message",
          "onRamp",
          "offRamp"
        ]
      },
      "GlobalNetworkRailKycStatusObject": {
        "type": "object",
        "title": "Kyc Status Object (GLOBAL_NETWORK)",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/KycStatusEnum"
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KycWarningObject"
            }
          },
          "message": {
            "type": "string"
          },
          "onRamp": {
            "type": "object",
            "additionalProperties": false
          },
          "offRamp": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "brl": {
                "type": "object",
                "properties": {
                  "pix": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "hkd": {
                "type": "object",
                "properties": {
                  "wire": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "mxn": {
                "type": "object",
                "properties": {
                  "spei": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              },
              "ngn": {
                "type": "object",
                "properties": {
                  "bank": {
                    "$ref": "#/components/schemas/KycRailStatusObject"
                  }
                }
              }
            }
          }
        },
        "required": [
          "status",
          "warnings",
          "message",
          "onRamp",
          "offRamp"
        ]
      },
      "OnChainRailKycStatusObject": {
        "type": "object",
        "title": "KYC Status Object (ON_CHAIN)",
        "properties": {
          "INDIVIDUAL": {
            "type": "object",
            "properties": {
              "status": {
                "$ref": "#/components/schemas/KycStatusEnum"
              },
              "warnings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/KycWarningObject"
                }
              },
              "message": {
                "type": "string"
              },
              "addresses": {
                "type": "object",
                "properties": {
                  "ETHEREUM": {
                    "type": "object",
                    "properties": {
                      "address": {
                        "type": "string"
                      }
                    }
                  },
                  "POLYGON": {
                    "type": "object",
                    "properties": {
                      "address": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "SofEuQaKycReqOptObject": {
        "type": "object",
        "title": "SofEuQuestionnaire Requirement (Individual)",
        "properties": {
          "required": {
            "type": "object",
            "properties": {
              "actingAsIntermediary": {
                "type": "string"
              },
              "employmentStatus": {
                "type": "string"
              },
              "expectedMonthlyPayments": {
                "type": "string"
              },
              "mostRecentOccupation": {
                "type": "string"
              },
              "primaryPurpose": {
                "type": "string"
              },
              "sourceOfFunds": {
                "type": "string"
              }
            }
          },
          "optional": {
            "type": "object",
            "properties": {
              "primaryPurposeOther": {
                "type": "string"
              }
            }
          }
        }
      },
      "SofEuQaKybReqOptObject": {
        "type": "object",
        "title": "SofEuQuestionnaire Requirement (Business)",
        "properties": {
          "required": {
            "type": "object",
            "properties": {
              "primaryPurpose": {
                "type": "string"
              },
              "sourceOfFunds": {
                "type": "string"
              },
              "transmitsCustomerFunds": {
                "type": "string"
              },
              "conductsMoneyServices": {
                "type": "string"
              },
              "highRiskActivities": {
                "type": "string"
              },
              "estimatedAnnualRevenueUsd": {
                "type": "string"
              },
              "expectedMonthlyPaymentsUsd": {
                "type": "string"
              },
              "customerFundsDescription": {
                "type": "string"
              }
            }
          },
          "optional": {
            "type": "object",
            "properties": {
              "operatesInProhibitedCountries": {
                "type": "string"
              },
              "primaryPurposeOther": {
                "type": "string"
              },
              "sourceOfFundsDescription": {
                "type": "string"
              },
              "transmitsCustomerFundsDescription": {
                "type": "string"
              }
            }
          }
        }
      },
      "AddressReqOptObject": {
        "type": "object",
        "title": "Address Requirement",
        "properties": {
          "required": {
            "type": "object",
            "properties": {
              "addressLine1": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "stateProvinceRegion": {
                "type": "string"
              },
              "postalCode": {
                "type": "string"
              },
              "country": {
                "type": "string"
              }
            }
          },
          "optional": {
            "type": "object",
            "properties": {
              "addressLine2": {
                "type": "string"
              }
            }
          }
        }
      },
      "DocGroupRequirementObject": {
        "type": "object",
        "title": "Document Group Requirement",
        "description": "Represents minimum document requirements for a specific rail. Each group specifies the minimum number of documents required from a list of accepted document types.\n**Note: Only documents provided through the Documents Endpoint will be considered for fulfilling these requirements.**\n",
        "properties": {
          "minCount": {
            "type": "integer",
            "description": "Minimum number of documents needed from the `acceptedDocTypes`.\n"
          },
          "acceptedDocTypes": {
            "type": "array",
            "description": "List of accepted document types. The user must provide at least `minCount` documents from this list.\n",
            "items": {
              "type": "string"
            }
          },
          "countryRestrictions": {
            "type": "object",
            "description": "Per-type country restrictions. When present for a document type, only documents of that type with an `issued_country` matching one of the listed ISO alpha-3 codes will satisfy this group. Document types not listed here have no country restriction.\n",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      },
      "USDRailBusinessDocReqOptObject": {
        "type": "object",
        "title": "Document Group Requirements (Business)",
        "properties": {
          "legalPresence": {
            "$ref": "#/components/schemas/DocGroupRequirementObject"
          },
          "ownershipStructure": {
            "$ref": "#/components/schemas/DocGroupRequirementObject"
          },
          "companyDetails": {
            "$ref": "#/components/schemas/DocGroupRequirementObject"
          },
          "controlStructure": {
            "$ref": "#/components/schemas/DocGroupRequirementObject"
          }
        }
      },
      "USDRailIndividualDocReqOptObject": {
        "type": "object",
        "title": "Document Group Requirements (Individual)",
        "properties": {
          "identity": {
            "$ref": "#/components/schemas/DocGroupRequirementObject"
          },
          "proofOfResidence": {
            "$ref": "#/components/schemas/DocGroupRequirementObject"
          }
        }
      },
      "USDRailBusinessKYCReqOptObject": {
        "type": "object",
        "title": "KYC Requirement Object (USD - Business)",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "rails": {
            "$ref": "#/components/schemas/RailsEnum"
          },
          "type": {
            "type": "string",
            "enum": [
              "business"
            ]
          },
          "required": {
            "type": "object",
            "description": "KYC fields required for this rail. The required fields varies based on the Rail.",
            "properties": {
              "businessName": {
                "type": "string"
              },
              "businessType": {
                "type": "string"
              },
              "businessIndustry": {
                "type": "string"
              },
              "registrationNumber": {
                "type": "string"
              },
              "registeredAddress": {
                "type": "string"
              },
              "address": {
                "$ref": "#/components/schemas/AddressReqOptObject"
              },
              "website": {
                "type": "string"
              },
              "incorporationDate": {
                "type": "string"
              },
              "email": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "taxIdentificationNumber": {
                "type": "string"
              },
              "sofEuQuestionnaire": {
                "$ref": "#/components/schemas/SofEuQaKybReqOptObject"
              },
              "ultimateBeneficialOwners": {
                "type": "array",
                "description": "Per-UBO field requirements. Each entry mirrors the top level shape, with `required` and\n`optional` maps of field name to the expected type for that UBO.\n",
                "items": {
                  "type": "object",
                  "properties": {
                    "required": {
                      "type": "object",
                      "additionalProperties": true
                    },
                    "optional": {
                      "type": "object",
                      "additionalProperties": true
                    }
                  }
                }
              },
              "documents": {
                "$ref": "#/components/schemas/USDRailBusinessDocReqOptObject"
              }
            }
          },
          "optional": {
            "type": "object",
            "description": "KYC fields that are optional for this rail. The optional fields varies based on the Rail.",
            "properties": {
              "incorporationCountry": {
                "type": "string"
              },
              "incorporationState": {
                "type": "string"
              }
            }
          },
          "invalid": {
            "type": "object",
            "description": "KYC fields the user currently holds that are either missing or invalid for this rail. The specific invalid fields vary depending on the user’s current KYC data.",
            "properties": {
              "message": {
                "type": "string"
              },
              "fields": {
                "type": "object",
                "description": "Any missing or invalid fields, which varies depending on the user’s current KYC data.",
                "properties": {
                  "registrationNumber": {
                    "type": "string"
                  }
                }
              },
              "documents": {
                "type": "object",
                "description": "Any missing documents groups, which varies depending on the user’s current KYC documents data.",
                "properties": {
                  "message": {
                    "type": "string"
                  },
                  "groups": {
                    "type": "object",
                    "properties": {
                      "controlStructure": {
                        "type": "object",
                        "properties": {
                          "minCount": {
                            "type": "integer"
                          },
                          "acceptedDocTypes": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "USDRailIndividualKYCReqOptObject": {
        "type": "object",
        "title": "KYC Requirement Object (USD - Individual)",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "rails": {
            "$ref": "#/components/schemas/RailsEnum"
          },
          "type": {
            "type": "string",
            "enum": [
              "individual"
            ]
          },
          "required": {
            "type": "object",
            "description": "KYC fields required for this rail. The required fields varies based on the Rail.",
            "properties": {
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "email": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "nationality": {
                "type": "string"
              },
              "dateOfBirth": {
                "type": "string"
              },
              "address": {
                "$ref": "#/components/schemas/AddressReqOptObject"
              },
              "taxIdentificationNumber": {
                "type": "string"
              },
              "documents": {
                "$ref": "#/components/schemas/USDRailIndividualDocReqOptObject"
              }
            }
          },
          "optional": {
            "type": "object",
            "description": "KYC fields that are optional for this rail. The optional fields varies based on the Rail.",
            "properties": {
              "sofEuQuestionnaire": {
                "$ref": "#/components/schemas/SofEuQaKycReqOptObject"
              }
            }
          },
          "invalid": {
            "type": "object",
            "description": "KYC fields the user currently holds that are either missing or invalid for this rail. The specific invalid fields vary depending on the user’s current KYC data.\n",
            "properties": {
              "message": {
                "type": "string"
              },
              "fields": {
                "type": "object",
                "description": "Any missing or invalid fields, which varies depending on the user’s current KYC data.",
                "properties": {
                  "phone": {
                    "type": "string"
                  },
                  "nationality": {
                    "type": "string"
                  },
                  "taxIdentificationNumber": {
                    "type": "string"
                  }
                }
              },
              "documents": {
                "type": "object",
                "description": "Any missing documents groups, which varies depending on the user’s current KYC documents data.",
                "properties": {
                  "message": {
                    "type": "string"
                  },
                  "groups": {
                    "type": "object",
                    "properties": {
                      "identity": {
                        "type": "object",
                        "properties": {
                          "minCount": {
                            "type": "integer"
                          },
                          "acceptedDocTypes": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "KycRailStatusObject": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KycWarningObject"
            }
          },
          "message": {
            "type": "string"
          }
        }
      },
      "KycLinkForUserCreation": {
        "type": "object",
        "title": "KYC Link for User Creation",
        "required": [
          "userType"
        ],
        "properties": {
          "userType": {
            "type": "string",
            "enum": [
              "INDIVIDUAL",
              "BUSINESS"
            ]
          },
          "rails": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "USD",
                "AFRICA_GENERAL",
                "AFRICA_NIGERIA"
              ]
            },
            "description": "KYC rails to unlock for the user, if not provided, only wallet will be created"
          },
          "redirectUrl": {
            "type": "string",
            "description": "URL to redirect to after KYC information is submitted, userId will be appended to the URL as a query parameter"
          },
          "recipientEmail": {
            "type": "string",
            "description": "Email address to send the KYC link to if provided (only in production)"
          },
          "templateId": {
            "type": "string",
            "description": "Template ID to use for the KYC link, please contact HIFI for more information"
          }
        }
      },
      "KycLinkForUnlockingRails": {
        "type": "object",
        "title": "KYC Link for Unlocking Rails",
        "required": [
          "userId",
          "rails"
        ],
        "properties": {
          "userId": {
            "type": "string"
          },
          "rails": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "USD",
                "AFRICA_GENERAL",
                "AFRICA_NIGERIA"
              ]
            },
            "description": "KYC rails to unlock for the user"
          },
          "redirectUrl": {
            "type": "string",
            "description": "URL to redirect to after KYC information is submitted, userId will be appended to the URL as a query parameter"
          },
          "recipientEmail": {
            "type": "string",
            "description": "Email address to send the KYC link to if provided (only in production)"
          },
          "templateId": {
            "type": "string",
            "description": "Template ID to use for the KYC link, please contact HIFI for more information"
          }
        }
      },
      "KycLinkObject": {
        "type": "object",
        "properties": {
          "kycLinkUrl": {
            "type": "string",
            "description": "KYC link to be shared with the user"
          }
        }
      },
      "AllKycStatusesObject": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "user": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "individual",
                    "business"
                  ]
                },
                "name": {
                  "type": "string"
                },
                "email": {
                  "type": "string",
                  "format": "email"
                }
              }
            },
            "rails": {
              "$ref": "#/components/schemas/RailsEnum"
            },
            "createdAt": {
              "type": "string",
              "format": "date-time"
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            },
            "status": {
              "$ref": "#/components/schemas/KycStatusEnum"
            }
          }
        }
      },
      "CreateMCAccount": {
        "type": "object",
        "description": "Apply for a currency account.",
        "properties": {
          "currency": {
            "type": "string",
            "description": "See the full list of collection currencies by bank location [here](https://docs.hifi.com/v2/docs/currencies-by-bank-location).\n"
          },
          "bankLocation": {
            "type": "string",
            "description": "The three-letter alpha-3 country code for the bank issuing the currency account. To check the availability of currencies by region, see [here](https://docs.hifi.com/v2/docs/currencies-by-bank-location).\n"
          },
          "purpose": {
            "type": "string",
            "description": "Account purpose. See the full list puposes for applying for this currency account [here](https://docs.hifi.com/v2/docs/currency-account-purpose).\n"
          }
        },
        "required": [
          "currency",
          "bankLocation",
          "purpose"
        ]
      },
      "CreateMCAccountStore": {
        "type": "object",
        "description": "Create a store to receive funds into the currency account.",
        "properties": {
          "userId": {
            "type": "string",
            "description": "The user ID."
          },
          "platform": {
            "type": "string",
            "description": "Store platform code. Look up the platforms that can be used in each country and the currencies that can be collected [here](https://docs.hifi.com/v2/docs/platform-code).\n"
          },
          "store": {
            "type": "object",
            "description": "Store details.",
            "$ref": "#/components/schemas/MCAccountStore"
          },
          "selfBuiltStore": {
            "type": "object",
            "description": "Self-built store details.",
            "$ref": "#/components/schemas/MCAccountSelfStore"
          }
        },
        "required": [
          "userId",
          "platform",
          "store"
        ]
      },
      "MCAccountStore": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the store."
          },
          "category": {
            "type": "string",
            "description": "Look up the store sale category [here](https://docs.hifi.com/v2/docs/store-sales-categories).\n"
          }
        },
        "required": [
          "name",
          "category"
        ]
      },
      "MCAccountSelfStore": {
        "type": "object",
        "properties": {
          "apiIntegrated": {
            "type": "boolean",
            "description": "Does the customer connect transactional, store and other data through API?"
          },
          "hasStoreInfo": {
            "type": "boolean",
            "description": "Is store information provided?"
          },
          "hasOrderInfo": {
            "type": "boolean",
            "description": "Is transaction information provided?"
          },
          "hasLogisticsInfo": {
            "type": "boolean",
            "description": "Is logistics information provided?"
          }
        },
        "required": [
          "apiIntegrated",
          "hasStoreInfo",
          "hasOrderInfo",
          "hasLogisticsInfo"
        ]
      },
      "AuthorizeMCAccountStore": {
        "type": "object",
        "description": "Authorise a store to receive funds into the currency account.",
        "properties": {
          "storeId": {
            "type": "string",
            "description": "The store ID."
          },
          "authType": {
            "type": "string",
            "description": "Authorization type：\n`URL`: Authorization through a jump link.\n`TOKEN`: Authorization through binding developer account.\n",
            "enum": [
              "URL",
              "TOKEN"
            ]
          },
          "url": {
            "type": "object",
            "description": "Required when authType = `URL`",
            "$ref": "#/components/schemas/AuthorizeMCAccountURL"
          },
          "token": {
            "type": "object",
            "description": "Required when authType = `TOKEN`",
            "$ref": "#/components/schemas/AuthorizeMCAccountToken"
          }
        },
        "required": [
          "storeId",
          "authType"
        ]
      },
      "AuthorizeMCAccountURL": {
        "type": "object",
        "properties": {
          "storeUrl": {
            "type": "string",
            "description": "Store URL."
          },
          "redirectUrl": {
            "type": "string",
            "description": "Post authorisation redirect URL."
          }
        },
        "required": [
          "storeUrl"
        ]
      },
      "AuthorizeMCAccountToken": {
        "type": "object",
        "properties": {
          "sellerId": {
            "type": "string",
            "description": "Store seller_id."
          },
          "accessToken": {
            "type": "string",
            "description": "Required when `developerId` and `developerSecret` are null.\n\nToken information for store authorization. Refer to Platform auth type [here](https://docs.hifi.com/v2/docs/platform-auth-type).\n"
          },
          "developerId": {
            "type": "string",
            "description": "Required when `accessToken` is null.\n\nToken information for store authorization. Refer to Platform auth type [here](https://docs.hifi.com/v2/docs/platform-auth-type).\n"
          },
          "developerSecret": {
            "type": "string",
            "description": "Required when `accessToken` is null.\n\nToken information for store authorization. Refer to Platform auth type [here](https://docs.hifi.com/v2/docs/platform-auth-type).\n"
          }
        },
        "required": [
          "sellerId"
        ]
      },
      "MCAccountObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Currency account ID."
          },
          "userId": {
            "type": "string",
            "description": "User ID."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the currency account was created."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the currency account was last updated."
          },
          "status": {
            "type": "string",
            "description": "Currency account application status:\n`CREATED` application created\n`NOT_INITIATED` application not initiated\n`PENDING` application submitted and pending\n`AVAILABLE` application accepted and available\n`DECLINED` application rejected\n`SUSPENDED` application suspended\n`CLOSING` application closing\n`CLOSED` application closed\n",
            "enum": [
              "CREATED",
              "NOT_INITIATED",
              "PENDING",
              "AVAILABLE",
              "DECLINED",
              "SUSPENDED",
              "CLOSING",
              "CLOSED"
            ]
          },
          "accountHolderName": {
            "type": "string",
            "description": "Account holder's name. Normally equal to user's English name or the translated name.\n"
          },
          "accountType": {
            "type": "string",
            "description": "The type of account.",
            "enum": [
              "SAVINGS",
              "CHECKING",
              "STANDARD"
            ]
          },
          "purpose": {
            "type": "string",
            "description": "The purpose of the account."
          },
          "currency": {
            "type": "string",
            "description": "The currency of the currency account."
          },
          "bankName": {
            "type": "string",
            "description": "The name of the bank."
          },
          "bankCode": {
            "type": "string",
            "description": "Domestic bank code in the `bankCountry`."
          },
          "branchName": {
            "type": "string",
            "description": "The name of the branch."
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number."
          },
          "routingNumber": {
            "type": "string",
            "description": "North American bank code."
          },
          "swiftCode": {
            "type": "string",
            "description": "International bank code."
          },
          "sortCode": {
            "type": "string",
            "description": "UK bank sort code (6 digits)."
          },
          "iban": {
            "type": "string",
            "description": "EU international bank account number."
          },
          "bankCountry": {
            "type": "string",
            "description": "The country of the bank."
          },
          "bankCity": {
            "type": "string",
            "description": "The city where the bank is located."
          },
          "bankAddress": {
            "type": "string",
            "description": "The bank's detailed address."
          },
          "bankPostalCode": {
            "type": "string",
            "description": "Bank's postal or ZIP code."
          },
          "failedReason": {
            "type": "string",
            "description": "Account application submit failure reason or application decline reason."
          }
        }
      },
      "CreateMCAccountObject": {
        "type": "object",
        "$ref": "#/components/schemas/MCAccountObject",
        "example": {
          "id": "5105ba8b-e54f-437c-9b98-10345d99791e",
          "userId": "c77f11bb-b869-41eb-af27-e64a62c980c6",
          "createdAt": "2023-10-01T12:00:00Z",
          "updatedAt": "2023-10-01T12:00:00Z",
          "status": "CREATED",
          "accountHolderName": "",
          "accountType": "",
          "purpose": "03",
          "currency": "USD",
          "bankName": "",
          "bankCode": "",
          "branchName": "",
          "accountNumber": "",
          "routingNumber": "",
          "swiftCode": "",
          "sortCode": "",
          "iban": "",
          "bankCountry": "USA",
          "bankCity": "",
          "bankAddress": "",
          "bankPostalCode": "",
          "failedReason": ""
        }
      },
      "GetMCAccountObject": {
        "type": "object",
        "$ref": "#/components/schemas/MCAccountObject",
        "example": {
          "id": "5105ba8b-e54f-437c-9b98-10345d99791e",
          "userId": "c77f11bb-b869-41eb-af27-e64a62c980c6",
          "createdAt": "2023-10-01T12:00:00Z",
          "updatedAt": "2023-10-01T12:00:00Z",
          "status": "AVAILABLE",
          "accountHolderName": "Henry Wu",
          "accountType": "Checking",
          "purpose": "03",
          "currency": "USD",
          "bankName": "Citibank",
          "bankCode": "",
          "branchName": "",
          "accountNumber": "73380000000363268",
          "routingNumber": "031100209",
          "swiftCode": "GEOORUMMXXX",
          "sortCode": "",
          "iban": "",
          "bankCountry": "United States",
          "bankCity": "New York",
          "bankAddress": "111 Wall Street, New York, New York 10043, United States",
          "bankPostalCode": "10043",
          "failedReason": ""
        }
      },
      "GetMCAccountListObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The total number of currency accounts."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MCAccountObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        },
        "example": {
          "count": 1,
          "accounts": [
            {
              "id": "5105ba8b-e54f-437c-9b98-10345d99791e",
              "userId": "c77f11bb-b869-41eb-af27-e64a62c980c6",
              "createdAt": "2023-10-01T12:00:00Z",
              "updatedAt": "2023-10-01T12:00:00Z",
              "status": "AVAILABLE",
              "accountHolderName": "Henry Wu",
              "accountType": "Checking",
              "purpose": "03",
              "currency": "USD",
              "bankName": "Citibank",
              "bankCode": "",
              "branchName": "",
              "accountNumber": "73380000000363268",
              "routingNumber": "031100209",
              "swiftCode": "GEOORUMMXXX",
              "sortCode": "",
              "iban": "",
              "bankCountry": "United States",
              "bankCity": "New York",
              "bankAddress": "111 Wall Street, New York, New York 10043, United States",
              "bankPostalCode": "10043",
              "failedReason": ""
            }
          ],
          "nextCursor": "2023-10-01T12:00:00Z"
        }
      },
      "MCAccountDepositObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Deposit ID."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the deposit was created."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the deposit was last updated."
          },
          "userId": {
            "type": "string",
            "description": "User ID."
          },
          "type": {
            "type": "string",
            "description": "Deposit type.",
            "enum": [
              "EXTERNAL",
              "INTERNAL"
            ]
          },
          "currencyAccountId": {
            "type": "string",
            "description": "Currency account ID of the currency account receiving funds."
          },
          "sourceAmount": {
            "type": "number",
            "description": "Source amount."
          },
          "sourceCurrency": {
            "type": "string",
            "description": "Source currency received. Three-letter ISO currency code in upper case."
          },
          "receivedAmount": {
            "type": "number",
            "description": "The amount received."
          },
          "receivedCurrency": {
            "type": "string",
            "description": "The currency received."
          },
          "feeAmount": {
            "type": "number",
            "description": "The service fee charged by HIFI for the deposit."
          },
          "feeCurrency": {
            "type": "string",
            "description": "Currency of service fee. Three-letter ISO currency code in upper case."
          },
          "feeRate": {
            "type": "number",
            "description": "Service fee exchange rate."
          },
          "debitedAmount": {
            "type": "number",
            "description": "The amount that is to be credited to the user's balance.\n`debitedAmount` = `receivedAmount` - `feeAmount`.\n"
          },
          "debitedCurrency": {
            "type": "string",
            "description": "Currency of the amount credited to the user's balance. Three-letter ISO currency code in upper case."
          },
          "rate": {
            "type": "number",
            "description": "Exchange rate."
          },
          "status": {
            "type": "string",
            "description": "`INITIATED` - Deposit is initiated.\n`PENDING` - Deposit has been received and am currently going through review.\n`COMPLETED` - Deposit review has been approved and completed.\n`CANCELED` - Deposit has been cancelled.\n`CLOSED` - Deposit have been rejected and may be resubmitted.\n`REJECTED` - If the deposit is rejected, the corresponding deposit flow cannot be initiated again.\n`REFUNDED` - Deposit has been rejected, and a refund has been made.\n",
            "enum": [
              "INITIATED",
              "PENDING",
              "COMPLETED",
              "CANCELED",
              "CLOSED",
              "REJECTED",
              "REFUNDED"
            ]
          },
          "swiftCode": {
            "type": "string",
            "description": "SWIFT code for the currency account."
          },
          "payee": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the payee."
              },
              "address": {
                "type": "string",
                "description": "The address of the payee."
              },
              "accountNumber": {
                "type": "string",
                "description": "The account number of the payee."
              }
            }
          },
          "payer": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the payer."
              },
              "country": {
                "type": "string",
                "description": "The country of the payer."
              },
              "address": {
                "type": "string",
                "description": "The address of the payer."
              },
              "bankName": {
                "type": "string",
                "description": "The name of the bank of the payer."
              },
              "accountNumber": {
                "type": "string",
                "description": "The account number of the payer."
              },
              "userId": {
                "type": "string",
                "description": "The user ID of the payer for `INTERNAL_TRANSFER`."
              }
            }
          },
          "bankReference": {
            "type": "string",
            "description": "Reference number provided by the bank."
          },
          "declareId": {
            "type": "string",
            "description": "The ID number for the declaration notification required by some banking partners for incoming restricted currencies, such as `BRL`, `THB`, and `PHP`.\n"
          },
          "reference": {
            "type": "string",
            "description": "Reference information."
          },
          "remark": {
            "type": "string",
            "description": "Remark information."
          }
        },
        "example": {
          "id": "5105ba8b-e54f-437c-9b98-10345d99791e",
          "createdAt": "2023-10-01T12:00:00Z",
          "updatedAt": "2023-10-01T12:00:00Z",
          "userId": "c77f11bb-b869-41eb-af27-e64a62c980c6",
          "type": "EXTERNAL_TRANSFER",
          "currencyAccountId": "5105ba8b-e54f-437c-9b98-10345d99791e",
          "sourceAmount": 100,
          "sourceCurrency": "USD",
          "receivedAmount": 90,
          "receivedCurrency": "USD",
          "feeAmount": 10,
          "feeCurrency": "USD",
          "feeRate": 1,
          "debitedAmount": 90,
          "debitedCurrency": "USD",
          "rate": 1,
          "status": "PENDING",
          "swiftCode": "BOFAUS3N",
          "payee": {
            "name": "John Doe",
            "address": "123 Main St, New York, NY 10001",
            "accountNumber": "1234567890"
          },
          "payer": {
            "name": "Jane Smith",
            "country": "USA",
            "address": "456 Elm St, Los Angeles, CA 90001",
            "bankName": "Bank of America",
            "accountNumber": "0987654321",
            "userId": null
          },
          "bankReference": "REF1234567890",
          "declareId": "DECL1234567890",
          "reference": null,
          "remark": null
        }
      },
      "MCAccountDepositListObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The total number of deposits."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MCAccountDepositObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        },
        "example": {
          "count": 1,
          "data": [
            {
              "id": "5105ba8b-e54f-437c-9b98-10345d99791e",
              "createdAt": "2023-10-01T12:00:00Z",
              "updatedAt": "2023-10-01T12:00:00Z",
              "userId": "c77f11bb-b869-41eb-af27-e64a62c980c6",
              "type": "EXTERNAL_TRANSFER",
              "currencyAccountId": "5105ba8b-e54f-437c-9b98-10345d99791e",
              "sourceAmount": 100,
              "sourceCurrency": "USD",
              "receivedAmount": 90,
              "receivedCurrency": "USD",
              "feeAmount": 10,
              "feeCurrency": "USD",
              "feeRate": 1,
              "debitedAmount": 90,
              "debitedCurrency": "USD",
              "rate": 1,
              "status": "PENDING",
              "swiftCode": "BOFAUS3N",
              "payee": {
                "name": "John Doe",
                "address": "123 Main St, New York, NY 10001",
                "accountNumber": "1234567890"
              },
              "payer": {
                "name": "Jane Smith",
                "country": "USA",
                "address": "456 Elm St, Los Angeles, CA 90001",
                "bankName": "Bank of America",
                "accountNumber": "0987654321",
                "userId": null
              },
              "bankReference": "REF1234567890",
              "declareId": "DECL1234567890",
              "reference": null,
              "remark": null
            }
          ],
          "nextCursor": "2023-10-01T12:00:00Z"
        }
      },
      "MCAccountBalanceObject": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "User ID."
          },
          "balances": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "currency": {
                  "type": "string",
                  "description": "Three-letter ISO currency code in upper case."
                },
                "amount": {
                  "type": "number",
                  "description": "balance."
                }
              }
            }
          }
        },
        "example": {
          "userId": "c77f11bb-b869-41eb-af27-e64a62c980c6",
          "balances": [
            {
              "currency": "USD",
              "amount": 1000
            },
            {
              "currency": "EUR",
              "amount": 500
            }
          ]
        }
      },
      "MCAccountStoreObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "store ID."
          },
          "userId": {
            "type": "string",
            "description": "user ID."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the store was created."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time when the store was last updated."
          },
          "apiStatus": {
            "type": "string",
            "description": "`PENDING` = API information has been submitted for verification.\n`SUCCESS` = API verification success.\n`FAIL` = API verification failed.\n",
            "enum": [
              "PENDING",
              "SUCCESS",
              "FAIL"
            ]
          },
          "status": {
            "type": "string",
            "description": "`PENDING` = Store information has been submitted.\n`APPROVED` = Store has been approved.\n`DECLINED` = Store has been declined.\n",
            "enum": [
              "PENDING",
              "APPROVED",
              "DECLINED"
            ]
          },
          "store": {
            "type": "object",
            "description": "store details.",
            "$ref": "#/components/schemas/MCAccountStore"
          },
          "authUrl": {
            "type": "string",
            "description": "Authorization."
          }
        },
        "example": {
          "id": "5105ba8b-e54f-437c-9b98-10345d99791e",
          "userId": "c77f11bb-b869-41eb-af27-e64a62c980c6",
          "createdAt": "2023-10-01T12:00:00Z",
          "updatedAt": "2023-10-01T12:00:00Z",
          "apiStatus": "PENDING",
          "status": "PENDING",
          "store": {
            "name": "My Store",
            "category": "E-commerce"
          },
          "authUrl": "https://example.com/auth"
        }
      },
      "OfframpStatusEnum": {
        "type": "string",
        "enum": [
          "NOT_INITIATED",
          "CREATED",
          "OPEN_QUOTE",
          "CRYPTO_INITIATED",
          "AWAITING_FUNDS",
          "CRYPTO_PENDING",
          "CRYPTO_PROCESSED",
          "FIAT_INITIATED",
          "FIAT_PENDING",
          "COMPLETED",
          "FIAT_FAILED",
          "FIAT_RETURNED",
          "CRYPTO_RETURNED",
          "CRYPTO_FAILED",
          "QUOTE_FAILED",
          "IN_REVIEW",
          "CANCELLED"
        ],
        "description": "Refer to [here](https://docs.hifi.com/docs/transfers/offramps#transaction-status) for more details on each offramp status.\n"
      },
      "SandboxScenario": {
        "type": "string",
        "enum": [
          "FIAT_FAILED",
          "CRYPTO_FAILED",
          "COMPLETED"
        ],
        "description": "Sandbox-only field that forces this offramp to a predetermined outcome\n"
      },
      "CreateOfframp": {
        "type": "object",
        "title": "Offramp",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ],
            "description": "Refer to [here](https://docs.hifi.com/transactions/offramps#purpose-of-payment-code) for more details on the purpose of payment code to provide.\n"
          },
          "supportingDocumentType": {
            "type": "string",
            "enum": [
              "billing_document",
              "order_document",
              "shipment_document",
              "regulatory_document",
              "transport_document",
              "other_document"
            ],
            "description": "The type of supporting document, required for swift payment.\n"
          },
          "supportingDocumentUrl": {
            "type": "string",
            "description": "The URL of the supporting document, required for swift payment.\n"
          },
          "description": {
            "type": "string",
            "description": "Memo code or description for usd offramp."
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/OfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          },
          "sandboxScenario": {
            "$ref": "#/components/schemas/SandboxScenario"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "CreateUsdOfframp": {
        "type": "object",
        "title": "Offramp (USD)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ],
            "description": "Refer to [here](https://docs.hifi.com/transactions/offramps#purpose-of-payment-code) for more details on the purpose of payment code to provide.\n"
          },
          "supportingDocumentType": {
            "type": "string",
            "enum": [
              "billing_document",
              "order_document",
              "shipment_document",
              "regulatory_document",
              "transport_document",
              "other_document"
            ],
            "description": "The type of supporting document, required for swift payment.\n"
          },
          "supportingDocumentUrl": {
            "type": "string",
            "description": "The URL of the supporting document, required for swift payment.\n"
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/UsdOfframpDestination"
          },
          "developerFee": {
            "type": "object",
            "description": "custom offramp developer fee, omit if no developer fee is charged",
            "nullable": true,
            "$ref": "#/components/schemas/DeveloperFee"
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          },
          "sandboxScenario": {
            "$ref": "#/components/schemas/SandboxScenario"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "UsdOfframpDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of fiat currency to receive"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "fiat currency"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account that is receiving the fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the fiat"
          },
          "sameDayAch": {
            "type": "boolean",
            "default": false,
            "description": "same day ACH processing"
          },
          "achReference": {
            "type": "string",
            "description": "a reference message to include when offramping through ACH transfer.\n\nit can be at most 10 characters, A-Z, a-z, 0-9, and spaces. Note that as of `2024-08-06`, setting this field is only supported for certain developers while we work on rolling out general support for everyone.\n"
          },
          "wireMessage": {
            "type": "string",
            "description": "a message to include when offramping through WIRE transfer.\n\nit can be at most 4 lines, each with a max length of 35 char according to the Fedwire standard.\n"
          },
          "swiftReference": {
            "type": "string",
            "description": "A reference message to include when offramping through SWIFT transfer that is mainly use to indicate the purpose of payment.\n\nit can be at most 12 characters.\n"
          }
        },
        "required": [
          "currency",
          "accountId"
        ]
      },
      "CreateEuroOfframp": {
        "type": "object",
        "title": "Offramp (EURO)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ]
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/EuroOfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "EuroOfframpDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of fiat currency to receive"
          },
          "currency": {
            "type": "string",
            "enum": [
              "eur"
            ],
            "description": "fiat currency"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account that is receiving the fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the fiat"
          },
          "sepaReference": {
            "type": "string",
            "description": "a reference message to include when offramping through SEPA transfer.\n\nit must be between 6 to 140 characters. The allowed characters are a-z, A-Z, 0-9, spaces, ampersand (&), hyphen (-), full stop (.), and solidus (/).\n"
          }
        },
        "required": [
          "currency",
          "accountId"
        ]
      },
      "CreateBrlOfframp": {
        "type": "object",
        "title": "Offramp (BRL)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ]
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/BrlOfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "CreateBrazilGlobalNetworkOfframp": {
        "type": "object",
        "title": "Offramp Global Network (BRL)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "invoice_payments",
              "payment_for_services",
              "payment_for_software",
              "payment_for_imported_goods",
              "travel_services",
              "transfer_to_own_account",
              "repayment_of_loans",
              "payroll",
              "payment_of_property_rental",
              "information_service_charges",
              "advertising_and_public_relations",
              "royalty_and_ip_fees",
              "financial_service_fees",
              "advisory_and_consulting_fees",
              "representative_office_expenses",
              "tax_payment",
              "transportation_fees",
              "construction_costs",
              "insurance_premium",
              "offline_goods_trade",
              "insurance_claims",
              "remittance_to_family_or_friends",
              "education_expenses",
              "medical_treatment",
              "donations",
              "mutual_fund_investment",
              "currency_exchange",
              "advance_payment_for_goods",
              "merchant_settlement",
              "repatriation_fund_settlement"
            ]
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/BrlOfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          },
          "sandboxScenario": {
            "$ref": "#/components/schemas/SandboxScenario"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "BrlOfframpDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of fiat currency to receive"
          },
          "currency": {
            "type": "string",
            "enum": [
              "brl"
            ],
            "description": "fiat currency"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account that is receiving the fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the fiat"
          },
          "paymentReference": {
            "type": "string",
            "description": "a reference message to include when offramping.\n"
          }
        },
        "required": [
          "userId",
          "currency",
          "accountId"
        ]
      },
      "CreateCopOfframp": {
        "type": "object",
        "title": "Offramp (COP)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ]
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/CopOfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "CopOfframpDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of fiat currency to receive"
          },
          "currency": {
            "type": "string",
            "enum": [
              "cop"
            ],
            "description": "fiat currency"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account that is receiving the fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the fiat"
          }
        },
        "required": [
          "currency",
          "accountId"
        ]
      },
      "CreateMxnOfframp": {
        "type": "object",
        "title": "Offramp (MXN)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ]
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/MxnOfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "CreateMexicoGlobalNetworkOfframp": {
        "type": "object",
        "title": "Offramp Global Network (MXN)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "invoice_payments",
              "payment_for_services",
              "payment_for_software",
              "payment_for_imported_goods",
              "travel_services",
              "transfer_to_own_account",
              "repayment_of_loans",
              "payroll",
              "payment_of_property_rental",
              "information_service_charges",
              "advertising_and_public_relations",
              "royalty_and_ip_fees",
              "financial_service_fees",
              "advisory_and_consulting_fees",
              "representative_office_expenses",
              "tax_payment",
              "transportation_fees",
              "construction_costs",
              "insurance_premium",
              "offline_goods_trade",
              "insurance_claims",
              "remittance_to_family_or_friends",
              "education_expenses",
              "medical_treatment",
              "donations",
              "mutual_fund_investment",
              "currency_exchange",
              "advance_payment_for_goods",
              "merchant_settlement",
              "repatriation_fund_settlement"
            ]
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/MxnOfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          },
          "sandboxScenario": {
            "$ref": "#/components/schemas/SandboxScenario"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "MxnOfframpDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of fiat currency to receive"
          },
          "currency": {
            "type": "string",
            "enum": [
              "mxn"
            ],
            "description": "fiat currency"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account that is receiving the fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the fiat"
          },
          "paymentReference": {
            "type": "string",
            "description": "a reference message to include when offramping.\n"
          }
        },
        "required": [
          "currency",
          "accountId"
        ]
      },
      "CreateArsOfframp": {
        "type": "object",
        "title": "Offramp (ARS)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ]
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/ArsOfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "ArsOfframpDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of fiat currency to receive"
          },
          "currency": {
            "type": "string",
            "enum": [
              "ars"
            ],
            "description": "fiat currency"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account that is receiving the fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the fiat"
          }
        },
        "required": [
          "currency",
          "accountId"
        ]
      },
      "CreateAfricaOfframp": {
        "type": "object",
        "title": "Offramp (Africa)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ]
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/AfricaOfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination",
          "purposeOfPayment"
        ]
      },
      "AfricaOfframpDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of fiat currency to receive"
          },
          "currency": {
            "type": "string",
            "description": "fiat currency.\nLook at the list of supported `currency` [here](https://docs.google.com/spreadsheets/d/1QxAWGoZMznB6_Ts4mzFcFD49ZOMUZNdNiR6wlr8NDL0/edit?gid=293141391#gid=293141391).\nMake sure the `currency` enum is supported for the provided `accountId`.\n"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account that is receiving the fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the fiat"
          }
        },
        "required": [
          "currency",
          "accountId"
        ]
      },
      "CreateHongKongGlobalNetworkOfframp": {
        "type": "object",
        "title": "Offramp Global Network (HKD)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "invoice_payments",
              "payment_for_services",
              "payment_for_software",
              "payment_for_imported_goods",
              "travel_services",
              "transfer_to_own_account",
              "repayment_of_loans",
              "payroll",
              "payment_of_property_rental",
              "information_service_charges",
              "advertising_and_public_relations",
              "royalty_and_ip_fees",
              "financial_service_fees",
              "advisory_and_consulting_fees",
              "representative_office_expenses",
              "tax_payment",
              "transportation_fees",
              "construction_costs",
              "insurance_premium",
              "offline_goods_trade",
              "insurance_claims",
              "remittance_to_family_or_friends",
              "education_expenses",
              "medical_treatment",
              "donations",
              "mutual_fund_investment",
              "currency_exchange",
              "advance_payment_for_goods",
              "merchant_settlement",
              "repatriation_fund_settlement"
            ]
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/HongKongOfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          },
          "sandboxScenario": {
            "$ref": "#/components/schemas/SandboxScenario"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "HongKongOfframpDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of fiat currency to receive"
          },
          "currency": {
            "type": "string",
            "enum": [
              "hkd",
              "usd"
            ],
            "description": "fiat currency"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account that is receiving the fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the fiat"
          },
          "paymentReference": {
            "type": "string",
            "description": "a reference message to include when offramping.\n"
          }
        },
        "required": [
          "currency",
          "accountId"
        ]
      },
      "CreateChinaGlobalNetworkOfframp": {
        "type": "object",
        "title": "Offramp Global Network (CHN)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "invoice_payments",
              "payment_for_services",
              "payment_for_software",
              "payment_for_imported_goods",
              "travel_services",
              "transfer_to_own_account",
              "repayment_of_loans",
              "payroll",
              "payment_of_property_rental",
              "information_service_charges",
              "advertising_and_public_relations",
              "royalty_and_ip_fees",
              "financial_service_fees",
              "advisory_and_consulting_fees",
              "representative_office_expenses",
              "tax_payment",
              "transportation_fees",
              "construction_costs",
              "insurance_premium",
              "offline_goods_trade",
              "insurance_claims",
              "remittance_to_family_or_friends",
              "education_expenses",
              "medical_treatment",
              "donations",
              "mutual_fund_investment",
              "currency_exchange",
              "advance_payment_for_goods",
              "merchant_settlement",
              "repatriation_fund_settlement"
            ]
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/ChinaOfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          },
          "sandboxScenario": {
            "$ref": "#/components/schemas/SandboxScenario"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "ChinaOfframpDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of fiat currency to receive"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "cny"
            ],
            "description": "fiat currency"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account that is receiving the fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the fiat"
          },
          "paymentReference": {
            "type": "string",
            "description": "a reference message to include when offramping.\n"
          }
        },
        "required": [
          "currency",
          "accountId"
        ]
      },
      "CreateSingaporeGlobalNetworkOfframp": {
        "type": "object",
        "title": "Offramp Global Network (SGP)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "invoice_payments",
              "payment_for_services",
              "payment_for_software",
              "payment_for_imported_goods",
              "travel_services",
              "transfer_to_own_account",
              "repayment_of_loans",
              "payroll",
              "payment_of_property_rental",
              "information_service_charges",
              "advertising_and_public_relations",
              "royalty_and_ip_fees",
              "financial_service_fees",
              "advisory_and_consulting_fees",
              "representative_office_expenses",
              "tax_payment",
              "transportation_fees",
              "construction_costs",
              "insurance_premium",
              "offline_goods_trade",
              "insurance_claims",
              "remittance_to_family_or_friends",
              "education_expenses",
              "medical_treatment",
              "donations",
              "mutual_fund_investment",
              "currency_exchange",
              "advance_payment_for_goods",
              "merchant_settlement",
              "repatriation_fund_settlement"
            ]
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/SingaporeOfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          },
          "sandboxScenario": {
            "$ref": "#/components/schemas/SandboxScenario"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "SingaporeOfframpDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of fiat currency to receive"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "sgd"
            ],
            "description": "fiat currency"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account that is receiving the fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the fiat"
          },
          "paymentReference": {
            "type": "string",
            "description": "a reference message to include when offramping.\n"
          }
        },
        "required": [
          "currency",
          "accountId"
        ]
      },
      "CreateNigeriaGlobalNetworkOfframp": {
        "type": "object",
        "title": "Offramp Global Network (NGN)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "invoice_payments",
              "payment_for_services",
              "payment_for_software",
              "payment_for_imported_goods",
              "travel_services",
              "transfer_to_own_account",
              "repayment_of_loans",
              "payroll",
              "payment_of_property_rental",
              "information_service_charges",
              "advertising_and_public_relations",
              "royalty_and_ip_fees",
              "financial_service_fees",
              "advisory_and_consulting_fees",
              "representative_office_expenses",
              "tax_payment",
              "transportation_fees",
              "construction_costs",
              "insurance_premium",
              "offline_goods_trade",
              "insurance_claims",
              "remittance_to_family_or_friends",
              "education_expenses",
              "medical_treatment",
              "donations",
              "mutual_fund_investment",
              "currency_exchange",
              "advance_payment_for_goods",
              "merchant_settlement",
              "repatriation_fund_settlement"
            ]
          },
          "description": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "offramp source",
            "$ref": "#/components/schemas/OfframpSource"
          },
          "destination": {
            "type": "object",
            "description": "offramp destination",
            "$ref": "#/components/schemas/NigeriaOfframpDestination"
          },
          "developerFee": {
            "description": "custom offramp fees, omit if no fees are charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeveloperFee"
              }
            ]
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this offramp requires approval before processing.\n- `true`: Offramp will enter approval workflow\n- `false` or omitted: Offramp proceeds like usual\n",
            "default": false,
            "example": false
          },
          "supportingInformation": {
            "$ref": "#/components/schemas/SupportingInformation"
          },
          "sandboxScenario": {
            "$ref": "#/components/schemas/SandboxScenario"
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "NigeriaOfframpDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of fiat currency to receive"
          },
          "currency": {
            "type": "string",
            "enum": [
              "ngn"
            ],
            "description": "fiat currency"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account that is receiving the fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the fiat"
          },
          "paymentReference": {
            "type": "string",
            "description": "a reference message to include when offramping.\n"
          }
        },
        "required": [
          "currency",
          "accountId"
        ]
      },
      "OfframpSource": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of crypto currency to send"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt",
              "usdg",
              "pyusd"
            ],
            "description": "crypto currency\n"
          },
          "chain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "ETHEREUM",
              "SOLANA",
              "BASE",
              "TRON"
            ]
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is sending the crypto, required if the funds are coming from HIFI Wallet"
          },
          "externalWalletId": {
            "type": "string",
            "format": "uuid",
            "description": "external wallet id who is sending the crypto, if provided, the offramp will only be processed if the funds are coming from the exact external wallet"
          },
          "returnAddress": {
            "type": "string",
            "description": "address the crypto is returned to if the offramp fails.\n\nrequired unless `userId` is provided. when `userId` is provided and this\nfield is omitted, the user's HIFI Wallet address is used.\n"
          }
        },
        "required": [
          "currency",
          "chain"
        ],
        "anyOf": [
          {
            "title": "funds from a HIFI Wallet",
            "required": [
              "userId"
            ]
          },
          {
            "title": "funds from an external wallet",
            "required": [
              "returnAddress"
            ]
          }
        ]
      },
      "OfframpDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "exclusiveMinimum": true,
            "description": "amount of fiat currency to receive"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "eur",
              "brl",
              "hkd",
              "mxn",
              "cop",
              "ars",
              "ngn",
              "ugx",
              "kes",
              "zmw",
              "mwk",
              "rwf",
              "tzs",
              "xaf",
              "xof",
              "bwp",
              "xaf",
              "cdf",
              "ghs",
              "zar",
              "inr"
            ],
            "description": "fiat currency"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account that is receiving the fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the fiat"
          },
          "sameDayAch": {
            "type": "boolean",
            "default": false,
            "description": "same day ACH processing"
          },
          "achReference": {
            "type": "string",
            "description": "a reference message to include when offramping through ACH transfer.\n\nit can be at most 10 characters, A-Z, a-z, 0-9, and spaces. Note that as of `2024-08-06`, setting this field is only supported for certain developers while we work on rolling out general support for everyone.\n"
          },
          "sepaReference": {
            "type": "string",
            "description": "a reference message to include when offramping through SEPA transfer.\n\nit must be between 6 to 140 characters. The allowed characters are a-z, A-Z, 0-9, spaces, ampersand (&), hyphen (-), full stop (.), and solidus (/).\n"
          },
          "wireMessage": {
            "type": "string",
            "description": "a message to include when offramping through WIRE transfer.\n\nit can be at most 4 lines, each with a max length of 35 char according to the Fedwire standard.\n"
          },
          "paymentReference": {
            "type": "string",
            "description": "a reference message to include when offramping.\n\nPlease utilize `wireMessage` for wire transfer and `achReference` for ACH transfer instead of this field.\n"
          },
          "swiftReference": {
            "type": "string",
            "description": "A reference message to include when offramping through SWIFT transfer that is mainly use to indicate the purpose of payment.\n\nit can be at most 12 characters.\n"
          }
        },
        "required": [
          "currency",
          "accountId"
        ]
      },
      "DeveloperFee": {
        "type": "object",
        "properties": {
          "fees": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "PERCENTAGE",
                    "FLAT"
                  ]
                },
                "value": {
                  "type": "string",
                  "description": "Fee amount as a string. For PERCENTAGE type, \"0.0005\" represents 0.05%.\nFor FLAT type, represents absolute amount.\nFor PERCENTAGE type, the value must be between 0 and 1 with max 4 decimal places.\n"
                },
                "walletAddress": {
                  "type": "string",
                  "description": "Wallet address to receive the fee"
                }
              },
              "required": [
                "type",
                "value",
                "walletAddress"
              ]
            }
          }
        },
        "required": [
          "fees"
        ]
      },
      "SupportingInformationDocument": {
        "type": "object",
        "description": "A supporting document for the offramp (e.g. invoice, contract).",
        "properties": {
          "fileId": {
            "type": "string",
            "format": "uuid",
            "description": "Public file ID of an uploaded file."
          },
          "type": {
            "type": "string",
            "enum": [
              "INVOICE",
              "CONTRACT",
              "AGREEMENT",
              "PURCHASE_ORDER",
              "OTHER"
            ],
            "description": "Type of supporting document."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "description": "Optional description of the document."
          }
        },
        "required": [
          "fileId",
          "type"
        ]
      },
      "SupportingInformationBeneficiaryDetails": {
        "type": "object",
        "description": "Optional beneficiary details for the offramp.",
        "properties": {
          "legalEntityName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "jurisdictionOfIncorporation": {
            "type": "string",
            "description": "ISO 3166-1 alpha-3 country code."
          },
          "natureOfBusiness": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "relationshipToBeneficiary": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500
          },
          "website": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          }
        }
      },
      "SupportingInformation": {
        "type": "object",
        "description": "Optional supporting information for the offramp. May include detailed purpose of payment,\nbeneficiary details, and supporting documents. When provided, documents must reference\nfiles previously uploaded via the file upload API.\n",
        "properties": {
          "detailedPurposeOfPayment": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "description": "Detailed description of the purpose of the payment."
          },
          "beneficiaryDetails": {
            "$ref": "#/components/schemas/SupportingInformationBeneficiaryDetails"
          },
          "documents": {
            "type": "array",
            "maxItems": 5,
            "items": {
              "$ref": "#/components/schemas/SupportingInformationDocument"
            },
            "description": "Supporting documents (e.g. invoice, contract). Each document must reference an uploaded file by fileId."
          }
        }
      },
      "OfframpPaymentTrackingObject": {
        "type": "object",
        "properties": {
          "fedBatchId": {
            "type": "string",
            "description": "Fedwire or ACH batch ID used for settlement tracking"
          },
          "imad": {
            "type": "string",
            "description": "Input Messaging Accountability Data. A combination of a date, source identifier, and sequence number assigned to a Fedwire message when it is processed by the Federal Reserve Bank Funds Transfer application. Unique to the payment."
          },
          "omad": {
            "type": "string",
            "description": "Output Messaging Accountability Data. A combination of a date, destination identifier, and sequence number assigned to a Fedwire message when it is processed by the Federal Reserve Bank Funds Transfer application."
          },
          "traceNumber": {
            "type": "string",
            "description": "Unique ACH trace number for the transaction"
          },
          "paymentRail": {
            "type": "string",
            "enum": [
              "wire",
              "ach",
              "rtp",
              "swift"
            ]
          }
        }
      },
      "OfframpDepositInstructionsList": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid"
            },
            "fromAddress": {
              "type": "string"
            },
            "toAddress": {
              "type": "string"
            },
            "currency": {
              "type": "string"
            },
            "contractAddress": {
              "type": "string"
            },
            "rawAmount": {
              "type": "string"
            },
            "amount": {
              "type": "number"
            },
            "chain": {
              "type": "string"
            },
            "collected": {
              "type": "boolean"
            },
            "collectable": {
              "type": "boolean"
            },
            "expiresAt": {
              "type": "string",
              "format": "date-time"
            },
            "transactionHash": {
              "type": "string",
              "nullable": true
            }
          }
        }
      },
      "OfframpObject": {
        "type": "object",
        "properties": {
          "transferType": {
            "type": "string"
          },
          "transferDetails": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "description": "unique identifier for the offramp"
              },
              "requestId": {
                "type": "string",
                "format": "uuid"
              },
              "orchestrationAddressId": {
                "type": "string",
                "format": "uuid",
                "nullable": true,
                "description": "ID of the orchestration address that produced this offramp, or `null`\nfor offramps created directly via `POST /v2/offramps`. Use this to\npivot back to the originating orchestration address — fetch it via\n`GET /v2/users/{userId}/orchestration-addresses/{orchestrationAddressId}`.\n"
              },
              "supportingInformation": {
                "$ref": "#/components/schemas/SupportingInformation",
                "description": "Supporting information provided when the offramp was created (e.g. detailed purpose of payment, beneficiary details, documents)."
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              },
              "status": {
                "$ref": "#/components/schemas/OfframpStatusEnum"
              },
              "failedReason": {
                "type": "string"
              },
              "error": {
                "type": "string",
                "description": "Error code when the offramp transaction has failed (e.g. `QUOTE_EXPIRED`, `QUOTE_FAILED`, `QUOTE_NOT_AVAILABLE`, `BILLING_CONFIG_NOT_FOUND`, `INSUFFICIENT_BALANCE`, `FAILED_TO_CREATE_PAYMENT`, `INTERNAL_ERROR`, `TRANSACTION_REJECTED`).\nPresent when status is a failed state such as `QUOTE_FAILED` or `CRYPTO_FAILED`.\n"
              },
              "errorDetails": {
                "type": "string",
                "description": "Human-readable error details when the offramp transaction has failed.\nPresent when status is a failed state.\n"
              },
              "source": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "chain": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number"
                  },
                  "walletAddress": {
                    "type": "string"
                  },
                  "externalWalletId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true,
                    "description": "id of the registered external wallet that sent the crypto, or `null` when the offramp did not use `externalWalletId`"
                  },
                  "user": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string",
                        "nullable": true
                      },
                      "firstName": {
                        "type": "string",
                        "nullable": true
                      },
                      "businessName": {
                        "type": "string",
                        "nullable": true
                      }
                    }
                  }
                }
              },
              "destination": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "amount": {
                    "type": "number"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "user": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string",
                        "nullable": true
                      },
                      "firstName": {
                        "type": "string",
                        "nullable": true
                      },
                      "businessName": {
                        "type": "string",
                        "nullable": true
                      }
                    }
                  },
                  "accountId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "destination offramp account ID"
                  },
                  "sameDayAch": {
                    "type": "boolean",
                    "default": false,
                    "description": "same day ACH processing"
                  }
                }
              },
              "receipt": {
                "type": "object",
                "properties": {
                  "transactionHash": {
                    "type": "string",
                    "nullable": true
                  },
                  "paymentTracking": {
                    "$ref": "#/components/schemas/OfframpPaymentTrackingObject"
                  }
                }
              },
              "developerFee": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "unique identifier for the developer fee record"
                  },
                  "transactionHash": {
                    "type": "string",
                    "nullable": true,
                    "description": "transaction hash of the fee transfer"
                  },
                  "fees": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "PERCENTAGE",
                            "FLAT"
                          ]
                        },
                        "value": {
                          "type": "string",
                          "description": "fee amount as string, for percentage represents decimal (e.g. \"0.0005\" = 0.05%)"
                        },
                        "amount": {
                          "type": "string",
                          "description": "actual fee amount charged"
                        },
                        "walletAddress": {
                          "type": "string",
                          "description": "wallet address receiving the fee"
                        }
                      },
                      "required": [
                        "type",
                        "value",
                        "amount",
                        "walletAddress"
                      ]
                    }
                  }
                }
              },
              "quoteInformation": {
                "type": "object",
                "properties": {
                  "sendGross": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "sendNet": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "receiveGross": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "receiveNet": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "rate": {
                    "type": "string"
                  },
                  "expiresAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              },
              "depositInformation": {
                "$ref": "#/components/schemas/OfframpDepositInstructionsList"
              }
            }
          }
        }
      },
      "OfframpQuoteObject": {
        "$ref": "#/components/schemas/OfframpObject"
      },
      "OfframpAcceptedQuoteObject": {
        "$ref": "#/components/schemas/OfframpObject"
      },
      "OfframpRecordObject": {
        "$ref": "#/components/schemas/OfframpObject"
      },
      "OfframpAllRecordsObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer"
          },
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OfframpRecordObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        }
      },
      "OfframpConversionRateObject": {
        "type": "object",
        "properties": {
          "fromCurrency": {
            "type": "string",
            "enum": [
              "usdc"
            ],
            "description": "source currency"
          },
          "toCurrency": {
            "type": "string",
            "enum": [
              "usd",
              "brl",
              "mxn",
              "ugx",
              "ngn",
              "kes",
              "tzs",
              "mwk",
              "xaf",
              "bwp",
              "zar",
              "usd-hka",
              "usd-chn",
              "cny",
              "hkd",
              "sgd",
              "usd-sgp",
              "inr"
            ],
            "description": "target currency"
          },
          "conversionRate": {
            "type": "string"
          },
          "conversionRates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "transferType": {
                  "type": "string",
                  "description": "The transfer type this rate applies to. When `transferType` is `default`, this is the\nconversion rate for the default transfer type. For `toCurrency: inr`, rates are\nreturned per India Global Network transfer type — `account_ifsc` and `imps_p2p`.\n"
                },
                "conversionRate": {
                  "type": "string"
                }
              }
            }
          }
        },
        "example": {
          "fromCurrency": "usdc",
          "toCurrency": "usd",
          "conversionRate": "1",
          "conversionRates": [
            {
              "transferType": "default",
              "conversionRate": "1"
            }
          ]
        }
      },
      "CancelOfframpResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Transaction: {transferId} cancelled successfully"
          }
        },
        "example": {
          "message": "Transaction: {transferId} cancelled successfully"
        }
      },
      "CancelCryptoTransfer": {
        "type": "object",
        "title": "Cancel Crypto Transfer",
        "properties": {
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "unique identifier for the cancellation request (recommend using uuid v4 or v5)"
          }
        },
        "required": [
          "requestId"
        ]
      },
      "CreateCryptoTransfer": {
        "type": "object",
        "title": "Crypto Transfer",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the transfer request (recommend using uuid v4)"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt",
              "usdg",
              "pyusd"
            ],
            "description": "crypto currency (note: `usdHifi` is only available in sandbox to simulate token movement)\n"
          },
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "amount of crypto currency to send"
          },
          "chain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "ETHEREUM",
              "BASE",
              "SOLANA",
              "BSC",
              "FLOW_EVM",
              "CANTON",
              "TRON"
            ]
          },
          "source": {
            "type": "object",
            "description": "crypto transfer source",
            "$ref": "#/components/schemas/CryptoTransferSource"
          },
          "destination": {
            "type": "object",
            "description": "crypto transfer destination",
            "$ref": "#/components/schemas/CryptoTransferDestination"
          },
          "fee": {
            "type": "object",
            "description": "crypto transfer fee",
            "$ref": "#/components/schemas/CryptoTransferFee"
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this transfer requires approval before processing.\n- `true`: Transfer will enter approval workflow\n- `false` or omitted: Transfer proceeds immediately\n",
            "default": false,
            "example": false
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "CryptoTransferSource": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is sending the crypto"
          }
        },
        "required": [
          "userId"
        ]
      },
      "CryptoTransferDestination": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the crypto (provide exactly one of `userId`, `walletAddress` or `externalWalletId`)\n"
          },
          "walletAddress": {
            "type": "string",
            "description": "wallet address that is receiving the crypto (provide exactly one of `userId`, `walletAddress` or `externalWalletId`)\n"
          },
          "externalWalletId": {
            "type": "string",
            "format": "uuid",
            "description": "id of a registered external wallet that is receiving the crypto. The wallet must be active and on the transfer chain (provide exactly one of `userId`, `walletAddress` or `externalWalletId`)\n"
          }
        }
      },
      "CryptoTransferFee": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "FIX",
              "PERCENT"
            ]
          },
          "value": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "custom transaction fee (`0.01` represents `1%` when `type` is set to `PERCENT`, checkout https://docs.hifi.com/v2/docs/fee-collection for more information)\n"
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "CreateBridgingRequest": {
        "type": "object",
        "title": "Bridging Request",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "amount of crypto currency to bridge"
          },
          "source": {
            "type": "object",
            "description": "bridging source",
            "$ref": "#/components/schemas/BridgingRequestSource"
          },
          "destination": {
            "type": "object",
            "description": "bridging destination",
            "$ref": "#/components/schemas/BridgingRequestDestination"
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this bridging request requires approval before processing.\n- `true`: Request will enter approval workflow\n- `false` or omitted: Request proceeds immediately\n",
            "default": false,
            "example": false
          }
        },
        "required": [
          "requestId",
          "amount",
          "source",
          "destination"
        ]
      },
      "BridgingRequestSource": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is sending the crypto"
          },
          "chain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "ETHEREUM",
              "SOLANA",
              "FLOW_EVM",
              "CANTON",
              "BASE"
            ]
          },
          "currency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt",
              "usdg",
              "pyusd",
              "usdcx"
            ],
            "description": "crypto currency"
          }
        },
        "required": [
          "userId",
          "chain",
          "currency"
        ]
      },
      "BridgingRequestDestination": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the crypto"
          },
          "chain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "ETHEREUM",
              "BASE",
              "SOLANA",
              "FLOW_EVM",
              "CANTON"
            ]
          },
          "currency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt",
              "usdg",
              "pyusd",
              "usdcx"
            ],
            "description": "crypto currency"
          },
          "walletAddress": {
            "type": "string",
            "description": "wallet address that is receiving the crypto (provide exactly one of `userId`, `walletAddress` or `externalWalletId`)\nTo use this feature, please ensure you're enrolled in HIFI's Gas Sponsorship Program or provide a userId; otherwise, the transaction may get stuck.\n"
          },
          "externalWalletId": {
            "type": "string",
            "format": "uuid",
            "description": "id of a registered external wallet that is receiving the crypto. The wallet must be active and on the destination chain (provide exactly one of `userId`, `walletAddress` or `externalWalletId`)\n"
          }
        },
        "required": [
          "chain",
          "currency"
        ]
      },
      "CryptoToCryptoTransferObject": {
        "type": "object",
        "properties": {
          "transferType": {
            "type": "string",
            "example": "WALLET.TRANSFER"
          },
          "transferDetails": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "006737ca-42d5-4780-b3c2-aeb63279c591"
              },
              "requestId": {
                "type": "string",
                "format": "uuid",
                "example": "d0d62bec-2623-4f61-afda-148d6a8e1009"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-02-03T16:11:36.654998+00:00"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-02-03T16:12:41.503+00:00"
              },
              "chain": {
                "type": "string",
                "example": "POLYGON_MAINNET"
              },
              "currency": {
                "type": "string",
                "example": "usdc"
              },
              "contractAddress": {
                "type": "string",
                "example": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"
              },
              "status": {
                "type": "string",
                "example": "CREATED"
              },
              "failedReason": {
                "type": "string",
                "example": ""
              },
              "source": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "format": "uuid",
                    "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                  },
                  "walletAddress": {
                    "type": "string",
                    "example": "0xA25641cB6056C371CB65F28aC02450c9206e0fAA"
                  },
                  "walletType": {
                    "type": "string",
                    "example": "INDIVIDUAL"
                  },
                  "user": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string",
                        "example": "samuelyoon0@gmail.com"
                      },
                      "lastName": {
                        "type": "string",
                        "example": "Yoon"
                      },
                      "firstName": {
                        "type": "string",
                        "example": "Samuel"
                      },
                      "businessName": {
                        "type": "string",
                        "example": null
                      }
                    }
                  }
                }
              },
              "destination": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "format": "uuid",
                    "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                  },
                  "walletType": {
                    "type": "string",
                    "example": "INDIVIDUAL"
                  },
                  "walletAddress": {
                    "type": "string",
                    "example": "0xA25641cB6056C371CB65F28aC02450c9206e0fAA"
                  },
                  "externalWalletId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true,
                    "description": "id of the registered external wallet that received the crypto, or `null` when the transfer did not use `externalWalletId`",
                    "example": null
                  },
                  "user": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string",
                        "example": "samuelyoon0@gmail.com"
                      },
                      "lastName": {
                        "type": "string",
                        "example": "Yoon"
                      },
                      "firstName": {
                        "type": "string",
                        "example": "Samuel"
                      },
                      "businessName": {
                        "type": "string",
                        "example": null
                      }
                    }
                  }
                }
              },
              "amount": {
                "type": "number",
                "format": "float",
                "example": 0.01
              },
              "amountIncludeDeveloperFee": {
                "type": "number",
                "format": "float",
                "example": 0.01
              },
              "receipt": {
                "type": "object",
                "properties": {
                  "transactionHash": {
                    "type": "string",
                    "example": "0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53"
                  },
                  "userOpHash": {
                    "type": "string",
                    "example": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac"
                  }
                }
              },
              "developerFee": {
                "type": "object",
                "properties": {
                  "feeId": {
                    "type": "string",
                    "format": "uuid",
                    "example": "9b354c37-d20d-4d94-bcd8-c852353ca406"
                  },
                  "feeType": {
                    "type": "string",
                    "example": "FIX"
                  },
                  "feeAmount": {
                    "type": "number",
                    "format": "float",
                    "example": 0.5
                  },
                  "feePercent": {
                    "type": "number",
                    "format": "float",
                    "example": 0
                  },
                  "status": {
                    "type": "string",
                    "example": "CREATED"
                  },
                  "transactionHash": {
                    "type": "string",
                    "example": null
                  },
                  "failedReason": {
                    "type": "string",
                    "example": null
                  }
                }
              },
              "approval": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "example": "006737ca-42d5-4780-b3c2-aeb63279c591"
                  },
                  "status": {
                    "type": "string",
                    "example": "PENDING"
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time",
                    "example": "2025-02-03T16:11:36.654998+00:00"
                  },
                  "updatedAt": {
                    "type": "string",
                    "format": "date-time",
                    "example": "2025-02-03T16:12:41.503+00:00"
                  },
                  "transferId": {
                    "type": "string",
                    "format": "uuid",
                    "example": "006737ca-42d5-4780-b3c2-aeb63279c591"
                  },
                  "transferType": {
                    "type": "string",
                    "example": "WALLET.TRANSFER"
                  },
                  "fromDashboard": {
                    "type": "boolean",
                    "example": true
                  },
                  "initiatorProfileId": {
                    "type": "string",
                    "format": "uuid",
                    "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                  },
                  "votes": {
                    "type": "array",
                    "description": "Array of approval votes (only present when status is PENDING_APPROVAL or REJECTED)",
                    "items": {
                      "type": "object",
                      "properties": {
                        "approverId": {
                          "type": "string",
                          "format": "uuid",
                          "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                        },
                        "vote": {
                          "type": "string",
                          "enum": [
                            "APPROVE",
                            "REJECT"
                          ],
                          "example": "REJECT"
                        },
                        "comment": {
                          "type": "string",
                          "example": "Transfer amount exceeds daily limit"
                        },
                        "createdAt": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2025-02-03T16:12:41.503+00:00"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "example": {
          "transferType": "WALLET.TRANSFER",
          "transferDetails": {
            "id": "006737ca-42d5-4780-b3c2-aeb63279c591",
            "requestId": "d0d62bec-2623-4f61-afda-148d6a8e1009",
            "createdAt": "2025-02-03T16:11:36.654998+00:00",
            "updatedAt": "2025-02-03T16:12:41.503+00:00",
            "chain": "POLYGON_MAINNET",
            "currency": "usdc",
            "contractAddress": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
            "status": "CREATED",
            "failedReason": "",
            "source": {
              "userId": "aec66b02-4f3f-471c-839a-94820b36abb2",
              "walletAddress": "0xA25641cB6056C371CB65F28aC02450c9206e0fAA",
              "walletType": "INDIVIDUAL",
              "user": {
                "email": "samuelyoon0@gmail.com",
                "lastName": "Yoon",
                "firstName": "Samuel",
                "businessName": null
              }
            },
            "destination": {
              "userId": "aec66b02-4f3f-471c-839a-94820b36abb2",
              "walletType": "INDIVIDUAL",
              "walletAddress": "0xA25641cB6056C371CB65F28aC02450c9206e0fAA",
              "user": {
                "email": "samuelyoon0@gmail.com",
                "lastName": "Yoon",
                "firstName": "Samuel",
                "businessName": null
              }
            },
            "amount": 0.01,
            "amountIncludeDeveloperFee": 0.01,
            "receipt": {
              "transactionHash": "0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53",
              "userOpHash": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac"
            },
            "developerFee": {
              "feeId": "9b354c37-d20d-4d94-bcd8-c852353ca406",
              "feeType": "FIX",
              "feeAmount": 0.5,
              "feePercent": 0,
              "status": "CREATED",
              "transactionHash": null,
              "failedReason": null
            }
          }
        }
      },
      "CryptoToCryptoRecordObject": {
        "type": "object",
        "properties": {
          "transferType": {
            "type": "string",
            "example": "WALLET.TRANSFER"
          },
          "transferDetails": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "006737ca-42d5-4780-b3c2-aeb63279c591"
              },
              "requestId": {
                "type": "string",
                "format": "uuid",
                "example": "d0d62bec-2623-4f61-afda-148d6a8e1009"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-02-03T16:11:36.654998+00:00"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-02-03T16:12:41.503+00:00"
              },
              "chain": {
                "type": "string",
                "example": "POLYGON_MAINNET"
              },
              "currency": {
                "type": "string",
                "example": "usdc"
              },
              "contractAddress": {
                "type": "string",
                "example": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"
              },
              "status": {
                "type": "string",
                "example": "CREATED"
              },
              "failedReason": {
                "type": "string",
                "example": ""
              },
              "source": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "format": "uuid",
                    "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                  },
                  "walletAddress": {
                    "type": "string",
                    "example": "0xA25641cB6056C371CB65F28aC02450c9206e0fAA"
                  },
                  "walletType": {
                    "type": "string",
                    "example": "INDIVIDUAL"
                  },
                  "user": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string",
                        "example": "samuelyoon0@gmail.com"
                      },
                      "lastName": {
                        "type": "string",
                        "example": "Yoon"
                      },
                      "firstName": {
                        "type": "string",
                        "example": "Samuel"
                      },
                      "businessName": {
                        "type": "string",
                        "example": null
                      }
                    }
                  }
                }
              },
              "destination": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "format": "uuid",
                    "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                  },
                  "walletType": {
                    "type": "string",
                    "example": "INDIVIDUAL"
                  },
                  "walletAddress": {
                    "type": "string",
                    "example": "0xA25641cB6056C371CB65F28aC02450c9206e0fAA"
                  },
                  "externalWalletId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true,
                    "description": "id of the registered external wallet that received the crypto, or `null` when the transfer did not use `externalWalletId`",
                    "example": null
                  },
                  "user": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string",
                        "example": "samuelyoon0@gmail.com"
                      },
                      "lastName": {
                        "type": "string",
                        "example": "Yoon"
                      },
                      "firstName": {
                        "type": "string",
                        "example": "Samuel"
                      },
                      "businessName": {
                        "type": "string",
                        "example": null
                      }
                    }
                  }
                }
              },
              "amount": {
                "type": "number",
                "format": "float",
                "example": 0.01
              },
              "amountIncludeDeveloperFee": {
                "type": "number",
                "format": "float",
                "example": 0.01
              },
              "receipt": {
                "type": "object",
                "properties": {
                  "transactionHash": {
                    "type": "string",
                    "example": "0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53"
                  },
                  "userOpHash": {
                    "type": "string",
                    "example": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac"
                  }
                }
              },
              "developerFee": {
                "type": "object",
                "properties": {
                  "feeId": {
                    "type": "string",
                    "format": "uuid",
                    "example": "9b354c37-d20d-4d94-bcd8-c852353ca406"
                  },
                  "feeType": {
                    "type": "string",
                    "example": "FIX"
                  },
                  "feeAmount": {
                    "type": "number",
                    "format": "float",
                    "example": 0.5
                  },
                  "feePercent": {
                    "type": "number",
                    "format": "float",
                    "example": 0
                  },
                  "status": {
                    "type": "string",
                    "example": "CREATED"
                  },
                  "transactionHash": {
                    "type": "string",
                    "example": null
                  },
                  "failedReason": {
                    "type": "string",
                    "example": null
                  }
                }
              }
            }
          }
        },
        "example": {
          "transferType": "WALLET.TRANSFER",
          "transferDetails": {
            "id": "006737ca-42d5-4780-b3c2-aeb63279c591",
            "requestId": "d0d62bec-2623-4f61-afda-148d6a8e1009",
            "createdAt": "2025-02-03T16:11:36.654998+00:00",
            "updatedAt": "2025-02-03T16:12:41.503+00:00",
            "chain": "POLYGON_MAINNET",
            "currency": "usdc",
            "contractAddress": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
            "status": "CREATED",
            "failedReason": "",
            "source": {
              "userId": "aec66b02-4f3f-471c-839a-94820b36abb2",
              "walletAddress": "0xA25641cB6056C371CB65F28aC02450c9206e0fAA",
              "walletType": "INDIVIDUAL",
              "user": {
                "email": "samuelyoon0@gmail.com",
                "lastName": "Yoon",
                "firstName": "Samuel",
                "businessName": null
              }
            },
            "destination": {
              "userId": "aec66b02-4f3f-471c-839a-94820b36abb2",
              "walletType": "INDIVIDUAL",
              "walletAddress": "0xA25641cB6056C371CB65F28aC02450c9206e0fAA",
              "user": {
                "email": "samuelyoon0@gmail.com",
                "lastName": "Yoon",
                "firstName": "Samuel",
                "businessName": null
              }
            },
            "amount": 0.01,
            "amountIncludeDeveloperFee": 0.01,
            "receipt": {
              "transactionHash": "0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53",
              "userOpHash": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac"
            },
            "developerFee": {
              "feeId": "9b354c37-d20d-4d94-bcd8-c852353ca406",
              "feeType": "FIX",
              "feeAmount": 0.5,
              "feePercent": 0,
              "status": "CREATED",
              "transactionHash": null,
              "failedReason": null
            }
          }
        }
      },
      "CryptoToCryptoAllRecordsObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer"
          },
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "transferType": {
                  "type": "string",
                  "example": "WALLET.TRANSFER"
                },
                "transferDetails": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "example": "006737ca-42d5-4780-b3c2-aeb63279c591"
                    },
                    "requestId": {
                      "type": "string",
                      "format": "uuid",
                      "example": "d0d62bec-2623-4f61-afda-148d6a8e1009"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2025-02-03T16:11:36.654998+00:00"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2025-02-03T16:12:41.503+00:00"
                    },
                    "chain": {
                      "type": "string",
                      "example": "POLYGON_MAINNET"
                    },
                    "currency": {
                      "type": "string",
                      "example": "usdc"
                    },
                    "contractAddress": {
                      "type": "string",
                      "example": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"
                    },
                    "status": {
                      "type": "string",
                      "example": "CREATED"
                    },
                    "failedReason": {
                      "type": "string",
                      "example": ""
                    },
                    "approval": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "example": "006737ca-42d5-4780-b3c2-aeb63279c591"
                        },
                        "status": {
                          "type": "string",
                          "example": "PENDING"
                        },
                        "createdAt": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2025-02-03T16:11:36.654998+00:00"
                        },
                        "updatedAt": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2025-02-03T16:12:41.503+00:00"
                        },
                        "transferId": {
                          "type": "string",
                          "format": "uuid",
                          "example": "006737ca-42d5-4780-b3c2-aeb63279c591"
                        },
                        "transferType": {
                          "type": "string",
                          "example": "WALLET.TRANSFER"
                        },
                        "fromDashboard": {
                          "type": "boolean",
                          "example": true
                        },
                        "initiatorProfileId": {
                          "type": "string",
                          "format": "uuid",
                          "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                        },
                        "votes": {
                          "type": "array",
                          "description": "Array of approval votes (only present when status is PENDING_APPROVAL or REJECTED)",
                          "items": {
                            "type": "object",
                            "properties": {
                              "approverId": {
                                "type": "string",
                                "format": "uuid",
                                "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                              },
                              "vote": {
                                "type": "string",
                                "enum": [
                                  "APPROVE",
                                  "REJECT"
                                ],
                                "example": "REJECT"
                              },
                              "comment": {
                                "type": "string",
                                "example": "Transfer amount exceeds daily limit"
                              },
                              "createdAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-02-03T16:12:41.503+00:00"
                              }
                            }
                          }
                        }
                      }
                    },
                    "source": {
                      "type": "object",
                      "properties": {
                        "userId": {
                          "type": "string",
                          "format": "uuid",
                          "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                        },
                        "walletAddress": {
                          "type": "string",
                          "example": "0xA25641cB6056C371CB65F28aC02450c9206e0fAA"
                        },
                        "walletType": {
                          "type": "string",
                          "example": "INDIVIDUAL"
                        },
                        "user": {
                          "type": "object",
                          "properties": {
                            "email": {
                              "type": "string",
                              "example": "samuelyoon0@gmail.com"
                            },
                            "lastName": {
                              "type": "string",
                              "example": "Yoon"
                            },
                            "firstName": {
                              "type": "string",
                              "example": "Samuel"
                            },
                            "businessName": {
                              "type": "string",
                              "example": null
                            }
                          }
                        }
                      }
                    },
                    "destination": {
                      "type": "object",
                      "properties": {
                        "userId": {
                          "type": "string",
                          "format": "uuid",
                          "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                        },
                        "walletType": {
                          "type": "string",
                          "example": "INDIVIDUAL"
                        },
                        "walletAddress": {
                          "type": "string",
                          "example": "0xA25641cB6056C371CB65F28aC02450c9206e0fAA"
                        },
                        "externalWalletId": {
                          "type": "string",
                          "format": "uuid",
                          "nullable": true,
                          "description": "id of the registered external wallet that received the crypto, or `null` when the transfer did not use `externalWalletId`",
                          "example": null
                        },
                        "user": {
                          "type": "object",
                          "properties": {
                            "email": {
                              "type": "string",
                              "example": "samuelyoon0@gmail.com"
                            },
                            "lastName": {
                              "type": "string",
                              "example": "Yoon"
                            },
                            "firstName": {
                              "type": "string",
                              "example": "Samuel"
                            },
                            "businessName": {
                              "type": "string",
                              "example": null
                            }
                          }
                        }
                      }
                    },
                    "amount": {
                      "type": "number",
                      "format": "float",
                      "example": 0.01
                    },
                    "amountIncludeDeveloperFee": {
                      "type": "number",
                      "format": "float",
                      "example": 0.01
                    },
                    "receipt": {
                      "type": "object",
                      "properties": {
                        "transactionHash": {
                          "type": "string",
                          "example": "0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53"
                        },
                        "userOpHash": {
                          "type": "string",
                          "example": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac"
                        }
                      }
                    },
                    "developerFee": {
                      "type": "object",
                      "properties": {
                        "feeId": {
                          "type": "string",
                          "format": "uuid",
                          "example": "9b354c37-d20d-4d94-bcd8-c852353ca406"
                        },
                        "feeType": {
                          "type": "string",
                          "example": "FIX"
                        },
                        "feeAmount": {
                          "type": "number",
                          "format": "float",
                          "example": 0.5
                        },
                        "feePercent": {
                          "type": "number",
                          "format": "float",
                          "example": 0
                        },
                        "status": {
                          "type": "string",
                          "example": "CREATED"
                        },
                        "transactionHash": {
                          "type": "string",
                          "example": null
                        },
                        "failedReason": {
                          "type": "string",
                          "example": null
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        },
        "example": {
          "count": 1,
          "records": [
            {
              "transferType": "WALLET.TRANSFER",
              "transferDetails": {
                "id": "006737ca-42d5-4780-b3c2-aeb63279c591",
                "requestId": "d0d62bec-2623-4f61-afda-148d6a8e1009",
                "createdAt": "2025-02-03T16:11:36.654+00:00",
                "updatedAt": "2025-02-03T16:12:41.503+00:00",
                "chain": "POLYGON_MAINNET",
                "currency": "usdc",
                "contractAddress": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
                "status": "CREATED",
                "failedReason": "",
                "source": {
                  "userId": "aec66b02-4f3f-471c-839a-94820b36abb2",
                  "walletAddress": "0xA25641cB6056C371CB65F28aC02450c9206e0fAA",
                  "walletType": "INDIVIDUAL",
                  "user": {
                    "email": "samuelyoon0@gmail.com",
                    "lastName": "Yoon",
                    "firstName": "Samuel",
                    "businessName": null
                  }
                },
                "destination": {
                  "userId": "aec66b02-4f3f-471c-839a-94820b36abb2",
                  "walletType": "INDIVIDUAL",
                  "walletAddress": "0xA25641cB6056C371CB65F28aC02450c9206e0fAA",
                  "user": {
                    "email": "samuelyoon0@gmail.com",
                    "lastName": "Yoon",
                    "firstName": "Samuel",
                    "businessName": null
                  }
                },
                "amount": 0.01,
                "amountIncludeDeveloperFee": 0.01,
                "receipt": {
                  "transactionHash": "0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53",
                  "userOpHash": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac"
                },
                "developerFee": {
                  "feeId": "9b354c37-d20d-4d94-bcd8-c852353ca406",
                  "feeType": "FIX",
                  "feeAmount": 0.5,
                  "feePercent": 0,
                  "status": "CREATED",
                  "transactionHash": null,
                  "failedReason": null
                }
              }
            }
          ],
          "nextCursor": "2025-02-03T16:11:36.654+00:00"
        }
      },
      "BridgeAssetTransfer": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "Unique identifier for the transfer request (recommend using uuid v4)"
          },
          "sourceUserId": {
            "type": "string",
            "description": "User Id of the sender"
          },
          "destinationUserId": {
            "type": "string",
            "description": "User Id of the recipient"
          },
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0
          },
          "sourceChain": {
            "type": "string",
            "description": "Chain where the source asset is",
            "enum": [
              "POLYGON_MAINNET",
              "ETHEREUM_MAINNET",
              "SOLANA_MAINNET"
            ]
          },
          "destinationChain": {
            "type": "string",
            "description": "Chain where the asset will be bridged to",
            "enum": [
              "POLYGON_MAINNET",
              "ETHEREUM_MAINNET",
              "BASE_MAINNET",
              "OPTIMISM_MAINNET",
              "ARBITRUM_MAINNET",
              "SOLANA_MAINNET"
            ]
          },
          "sourceCurrency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt"
            ]
          },
          "destinationCurrency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt"
            ]
          }
        },
        "required": [
          "sourceUserId",
          "destinationUserId",
          "amount",
          "requestId",
          "sourceChain",
          "sourceCurrency",
          "destinationCurrency",
          "destinationChain"
        ]
      },
      "BridgeAssetTransferObject": {
        "type": "object",
        "properties": {
          "transferType": {
            "type": "string"
          },
          "transferDetails": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "requestId": {
                "type": "string",
                "format": "uuid"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              },
              "amount": {
                "type": "number"
              },
              "status": {
                "type": "string",
                "enum": [
                  "NOT_INITIATED",
                  "OPEN_QUOTE",
                  "CREATED",
                  "SOURCE_INITIATED",
                  "SOURCE_PENDING",
                  "SOURCE_PROCESSED",
                  "SOURCE_FAILED",
                  "DESTINATION_INITIATED",
                  "DESTINATION_PENDING",
                  "COMPLETED",
                  "DESTINATION_FAILED",
                  "QUOTE_FAILED",
                  "UNKNOWN"
                ]
              },
              "source": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "walletAddress": {
                    "type": "string"
                  },
                  "chain": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  }
                }
              },
              "destination": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "walletAddress": {
                    "type": "string"
                  },
                  "externalWalletId": {
                    "type": "string",
                    "format": "uuid",
                    "nullable": true,
                    "description": "id of the registered external wallet that received the crypto, or `null` when the transfer did not use `externalWalletId`"
                  },
                  "chain": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  }
                }
              },
              "receipt": {
                "type": "object",
                "properties": {
                  "transactionHash": {
                    "type": "string"
                  },
                  "operations": {
                    "type": "object",
                    "properties": {
                      "mint": {
                        "type": "object",
                        "properties": {
                          "transactionHash": {
                            "type": "string",
                            "nullable": true
                          },
                          "userOpHash": {
                            "type": "string",
                            "nullable": true
                          },
                          "chain": {
                            "type": "string",
                            "nullable": true
                          }
                        }
                      },
                      "burn": {
                        "type": "object",
                        "properties": {
                          "transactionHash": {
                            "type": "string",
                            "nullable": true
                          },
                          "userOpHash": {
                            "type": "string",
                            "nullable": true
                          },
                          "chain": {
                            "type": "string",
                            "nullable": true
                          }
                        }
                      },
                      "approve": {
                        "type": "object",
                        "properties": {
                          "transactionHash": {
                            "type": "string",
                            "nullable": true
                          },
                          "userOpHash": {
                            "type": "string",
                            "nullable": true
                          },
                          "chain": {
                            "type": "string",
                            "nullable": true
                          }
                        }
                      }
                    }
                  }
                }
              },
              "failedReason": {
                "type": "string",
                "nullable": true
              },
              "fee": {
                "type": "number",
                "nullable": true
              },
              "quoteInformation": {
                "type": "object",
                "nullable": true,
                "description": "`null` while the bridge is waiting for approval (`PENDING_APPROVAL`), and if the\napproval is rejected or expires. A bridge that requires approval is quoted when it\nis approved.\n",
                "properties": {
                  "sendGross": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "sendNet": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "railFee": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "receiveGross": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "receiveNet": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "rate": {
                    "type": "string"
                  },
                  "expiresAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          }
        },
        "example": {
          "transferType": "WALLET.BRIDGE",
          "transferDetails": {
            "id": "9ccafd0f-e47f-43c2-8693-13741b67d638",
            "requestId": "1d860428-1d0b-47c5-9e65-98961ff59215",
            "createdAt": "2025-02-24T17:44:54.781519+00:00",
            "updatedAt": "2025-02-24T17:57:01.185+00:00",
            "amount": 0.01,
            "status": "COMPLETED",
            "source": {
              "userId": "a804f891-b63c-4b36-99ee-0aa83e6facde",
              "walletAddress": "0xE9cfBf1D690565579D823264170eE357f80e9A34",
              "chain": "POLYGON",
              "currency": "usdc"
            },
            "destination": {
              "userId": "a804f891-b63c-4b36-99ee-0aa83e6facde",
              "walletAddress": "0x17f043FB0a39334641beD627551AC095941157B0",
              "chain": "ETHEREUM",
              "currency": "usdc"
            },
            "receipt": {
              "transactionHash": "0x17f043FB0a39334641beD627551AC095941157B0",
              "operations": {
                "mint": {
                  "transactionHash": "0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53",
                  "userOpHash": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac",
                  "chain": "ETHEREUM"
                },
                "burn": {
                  "transactionHash": "0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53",
                  "userOpHash": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac",
                  "chain": "POLYGON"
                },
                "approve": {
                  "transactionHash": "0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53",
                  "userOpHash": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac",
                  "chain": "POLYGON"
                }
              }
            },
            "failedReason": null,
            "fee": null,
            "quoteInformation": {
              "sendGross": {
                "amount": "0.01",
                "currency": "usdc"
              },
              "sendNet": {
                "amount": "0.01",
                "currency": "usdc"
              },
              "railFee": {
                "amount": "0",
                "currency": "usdc"
              },
              "receiveGross": {
                "amount": "0.01",
                "currency": "usdc"
              },
              "receiveNet": {
                "amount": "0.01",
                "currency": "usdc"
              },
              "rate": "1",
              "expiresAt": "2025-02-25T17:44:54.781Z"
            }
          }
        }
      },
      "BridgeAssetTransferListObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BridgeAssetTransferObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        },
        "example": {
          "count": 1,
          "data": [
            {
              "transferType": "WALLET.BRIDGE",
              "transferDetails": {
                "id": "9ccafd0f-e47f-43c2-8693-13741b67d638",
                "requestId": "1d860428-1d0b-47c5-9e65-98961ff59215",
                "createdAt": "2025-02-24T17:44:54.781+00:00",
                "updatedAt": "2025-02-24T17:57:01.185+00:00",
                "amount": 0.01,
                "status": "COMPLETED",
                "source": {
                  "userId": "a804f891-b63c-4b36-99ee-0aa83e6facde",
                  "walletAddress": "0xE9cfBf1D690565579D823264170eE357f80e9A34",
                  "chain": "POLYGON",
                  "currency": "usdc"
                },
                "destination": {
                  "userId": "a804f891-b63c-4b36-99ee-0aa83e6facde",
                  "walletAddress": "0x17f043FB0a39334641beD627551AC095941157B0",
                  "chain": "ETHEREUM",
                  "currency": "usdc"
                },
                "failedReason": null,
                "receipt": {
                  "transactionHash": "0x17f043FB0a39334641beD627551AC095941157B0",
                  "operations": {
                    "mint": {
                      "transactionHash": "0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53",
                      "userOpHash": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac",
                      "chain": "ETHEREUM"
                    },
                    "approve": {
                      "transactionHash": "0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53",
                      "userOpHash": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac",
                      "chain": "POLYGON"
                    },
                    "burn": {
                      "transactionHash": "0x5784890f9efd0160e9401439a5cf2aa5350580ecf48f9ca2af617338ae089e53",
                      "userOpHash": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac",
                      "chain": "POLYGON"
                    }
                  }
                },
                "fee": null,
                "quoteInformation": {
                  "sendGross": {
                    "amount": "0.01",
                    "currency": "usdc"
                  },
                  "sendNet": {
                    "amount": "0.01",
                    "currency": "usdc"
                  },
                  "railFee": {
                    "amount": "0",
                    "currency": "usdc"
                  },
                  "receiveGross": {
                    "amount": "0.01",
                    "currency": "usdc"
                  },
                  "receiveNet": {
                    "amount": "0.01",
                    "currency": "usdc"
                  },
                  "rate": "1",
                  "expiresAt": "2025-02-25T17:44:54.781Z"
                }
              }
            }
          ],
          "nextCursor": "2025-02-24T17:44:54.781+00:00"
        }
      },
      "AcceptBridgeAssetTransfer": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "ACCEPT_QUOTE"
            ],
            "description": "Action to take on the transfer request"
          }
        },
        "required": [
          "action"
        ]
      },
      "CreateBatchCryptoTransfer": {
        "type": "object",
        "required": [
          "requestId",
          "currency",
          "chain",
          "source",
          "destination"
        ],
        "properties": {
          "requestId": {
            "type": "string",
            "format": "uuid",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt",
              "usdg",
              "pyusd"
            ],
            "example": "usdc"
          },
          "chain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "ETHEREUM",
              "SOLANA",
              "BASE",
              "BSC",
              "FLOW_EVM",
              "TRON"
            ],
            "example": "POLYGON"
          },
          "source": {
            "type": "object",
            "required": [
              "userId"
            ],
            "properties": {
              "userId": {
                "type": "string",
                "format": "uuid",
                "example": "a1f70737-3844-4782-a321-ad481108a8ec"
              }
            }
          },
          "destination": {
            "type": "object",
            "required": [
              "batch"
            ],
            "properties": {
              "batch": {
                "type": "array",
                "maxItems": 50,
                "items": {
                  "type": "object",
                  "required": [
                    "amount"
                  ],
                  "properties": {
                    "userId": {
                      "type": "string",
                      "format": "uuid",
                      "example": "a1f70737-3844-4782-a321-ad481108a8ec"
                    },
                    "walletAddress": {
                      "type": "string",
                      "pattern": "^0x[a-fA-F0-9]{40}$",
                      "example": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
                    },
                    "externalWalletId": {
                      "type": "string",
                      "format": "uuid",
                      "description": "id of a registered external wallet. The wallet must be active and on the transfer chain. Provide exactly one of `userId`, `walletAddress` or `externalWalletId`.",
                      "example": "c5ab9e74-735f-4f7b-a5e6-631e773ee320"
                    },
                    "amount": {
                      "type": "string",
                      "example": "0.01"
                    }
                  }
                }
              }
            }
          },
          "requireApproval": {
            "type": "boolean",
            "description": "Whether this batch transfer requires approval before processing.\n- `true`: Transfer will enter approval workflow\n- `false` or omitted: Transfer proceeds immediately\n",
            "default": false,
            "example": false
          }
        }
      },
      "BatchCryptoTransferObject": {
        "type": "object",
        "required": [
          "transferType",
          "transferDetails"
        ],
        "properties": {
          "transferType": {
            "type": "string",
            "example": "WALLET.TRANSFER.BATCH"
          },
          "transferDetails": {
            "type": "object",
            "required": [
              "id",
              "requestId",
              "createdAt",
              "updatedAt",
              "chain",
              "currency",
              "contractAddress",
              "status",
              "source",
              "destination",
              "receipt"
            ],
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "example": "879af7af-67bf-469f-b718-d262a39d4857"
              },
              "requestId": {
                "type": "string",
                "format": "uuid",
                "example": "14a84906-b72e-4847-b34d-51b9048fa6a5"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-04-05T00:55:50.609Z"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-04-05T00:56:33.236Z"
              },
              "chain": {
                "type": "string",
                "enum": [
                  "POLYGON"
                ],
                "example": "POLYGON"
              },
              "currency": {
                "type": "string",
                "enum": [
                  "usdc"
                ],
                "example": "usdc"
              },
              "contractAddress": {
                "type": "string",
                "example": "0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582"
              },
              "status": {
                "type": "string",
                "enum": [
                  "NOT_INITIATED",
                  "CREATED",
                  "INITIATED",
                  "PENDING",
                  "COMPLETED",
                  "FAILED",
                  "UNKNOWN"
                ],
                "example": "COMPLETED"
              },
              "source": {
                "type": "object",
                "required": [
                  "userId",
                  "walletAddress",
                  "walletType"
                ],
                "properties": {
                  "userId": {
                    "type": "string",
                    "format": "uuid",
                    "example": "6a13bd30-b3a3-4d44-af33-0b32e58261be"
                  },
                  "walletAddress": {
                    "type": "string",
                    "pattern": "^0x[a-fA-F0-9]{40}$",
                    "example": "0x99a8c5ED386d217BC6ff0AA1b3585606D475432B"
                  },
                  "walletType": {
                    "type": "string",
                    "enum": [
                      "INDIVIDUAL",
                      "BUSINESS"
                    ],
                    "example": "INDIVIDUAL"
                  }
                }
              },
              "destination": {
                "type": "object",
                "required": [
                  "batch"
                ],
                "properties": {
                  "batch": {
                    "type": "array",
                    "maxItems": 50,
                    "items": {
                      "type": "object",
                      "required": [
                        "amount"
                      ],
                      "properties": {
                        "amount": {
                          "type": "string",
                          "example": "0.04"
                        },
                        "userId": {
                          "type": "string",
                          "format": "uuid",
                          "example": "6a13bd30-b3a3-4d44-af33-0b32e58261be"
                        },
                        "externalWalletId": {
                          "type": "string",
                          "format": "uuid",
                          "description": "id of the registered external wallet paid by this item. Only present when the item was created with `externalWalletId`",
                          "example": "c5ab9e74-735f-4f7b-a5e6-631e773ee320"
                        }
                      }
                    }
                  }
                }
              },
              "receipt": {
                "type": "object",
                "required": [
                  "transactionHash"
                ],
                "properties": {
                  "transactionHash": {
                    "type": "string",
                    "example": "0x57f0cd3429ea425d982882243428ef4a1eda5f1be2157c1b34ea48b49b24fe7f"
                  },
                  "userOpHash": {
                    "type": "string",
                    "example": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac"
                  },
                  "approval": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "example": "006737ca-42d5-4780-b3c2-aeb63279c591"
                      },
                      "status": {
                        "type": "string",
                        "example": "PENDING"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2025-02-03T16:11:36.654998+00:00"
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2025-02-03T16:12:41.503+00:00"
                      },
                      "transferId": {
                        "type": "string",
                        "format": "uuid",
                        "example": "006737ca-42d5-4780-b3c2-aeb63279c591"
                      },
                      "transferType": {
                        "type": "string",
                        "example": "WALLET.TRANSFER.BATCH"
                      },
                      "fromDashboard": {
                        "type": "boolean",
                        "example": true
                      },
                      "initiatorProfileId": {
                        "type": "string",
                        "format": "uuid",
                        "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                      },
                      "votes": {
                        "type": "array",
                        "description": "Array of approval votes (only present when status is PENDING_APPROVAL or REJECTED)",
                        "items": {
                          "type": "object",
                          "properties": {
                            "approverId": {
                              "type": "string",
                              "format": "uuid",
                              "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                            },
                            "vote": {
                              "type": "string",
                              "enum": [
                                "APPROVE",
                                "REJECT"
                              ],
                              "example": "REJECT"
                            },
                            "comment": {
                              "type": "string",
                              "example": "Transfer amount exceeds daily limit"
                            },
                            "createdAt": {
                              "type": "string",
                              "format": "date-time",
                              "example": "2025-02-03T16:12:41.503+00:00"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "example": {
          "transferType": "WALLET.TRANSFER.BATCH",
          "transferDetails": {
            "id": "879af7af-67bf-469f-b718-d262a39d4857",
            "requestId": "14a84906-b72e-4847-b34d-51b9048fa6a5",
            "createdAt": "2025-04-05T00:55:50.609Z",
            "updatedAt": "2025-04-05T00:56:33.236Z",
            "chain": "POLYGON",
            "currency": "usdc",
            "contractAddress": "0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582",
            "status": "COMPLETED",
            "source": {
              "userId": "6a13bd30-b3a3-4d44-af33-0b32e58261be",
              "walletAddress": "0x99a8c5ED386d217BC6ff0AA1b3585606D475432B",
              "walletType": "INDIVIDUAL"
            },
            "destination": {
              "batch": [
                {
                  "amount": "0.04",
                  "userId": "6a13bd30-b3a3-4d44-af33-0b32e58261be"
                },
                {
                  "amount": "0.05",
                  "userId": "6a13bd30-b3a3-4d44-af33-0b32e58261be"
                },
                {
                  "amount": "0.06",
                  "userId": "6a13bd30-b3a3-4d44-af33-0b32e58261be"
                },
                {
                  "amount": "0.03",
                  "userId": "6a13bd30-b3a3-4d44-af33-0b32e58261be"
                },
                {
                  "amount": "0.03",
                  "userId": "6a13bd30-b3a3-4d44-af33-0b32e58261be"
                }
              ]
            },
            "receipt": {
              "transactionHash": "0x57f0cd3429ea425d982882243428ef4a1eda5f1be2157c1b34ea48b49b24fe7f",
              "userOpHash": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac"
            }
          }
        }
      },
      "BatchCryptoTransferListObject": {
        "type": "object",
        "required": [
          "count",
          "records",
          "nextCursor"
        ],
        "properties": {
          "count": {
            "type": "integer",
            "example": 1
          },
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "transferType",
                "transferDetails"
              ],
              "properties": {
                "transferType": {
                  "type": "string",
                  "example": "WALLET.TRANSFER.BATCH"
                },
                "transferDetails": {
                  "type": "object",
                  "required": [
                    "id",
                    "requestId",
                    "createdAt",
                    "updatedAt",
                    "chain",
                    "currency",
                    "contractAddress",
                    "status",
                    "source",
                    "destination",
                    "receipt"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "example": "a671d42d-9417-4bb3-868e-06c868d0d4b8"
                    },
                    "requestId": {
                      "type": "string",
                      "format": "uuid",
                      "example": "d2189ddd-2d32-4a46-9421-d25ebf602e6c"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2025-04-05T14:01:09.785Z"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time",
                      "example": "2025-04-05T14:01:37.708Z"
                    },
                    "chain": {
                      "type": "string",
                      "enum": [
                        "POLYGON"
                      ],
                      "example": "POLYGON"
                    },
                    "currency": {
                      "type": "string",
                      "enum": [
                        "usdc"
                      ],
                      "example": "usdc"
                    },
                    "contractAddress": {
                      "type": "string",
                      "example": "0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "NOT_INITIATED",
                        "CREATED",
                        "INITIATED",
                        "PENDING",
                        "COMPLETED",
                        "FAILED",
                        "UNKNOWN"
                      ],
                      "example": "COMPLETED"
                    },
                    "failedReason": {
                      "type": "string",
                      "nullable": true,
                      "example": null
                    },
                    "source": {
                      "type": "object",
                      "required": [
                        "userId",
                        "walletAddress",
                        "walletType"
                      ],
                      "properties": {
                        "userId": {
                          "type": "string",
                          "format": "uuid",
                          "example": "a1f70737-3844-4782-a321-ad481108a8ec"
                        },
                        "walletAddress": {
                          "type": "string",
                          "pattern": "^0x[a-fA-F0-9]{40}$",
                          "example": "0xAFD59de44048D33d964f720ec2Dec3465D8D887D"
                        },
                        "walletType": {
                          "type": "string",
                          "enum": [
                            "INDIVIDUAL",
                            "BUSINESS"
                          ],
                          "example": "INDIVIDUAL"
                        }
                      }
                    },
                    "destination": {
                      "type": "object",
                      "required": [
                        "batch"
                      ],
                      "properties": {
                        "batch": {
                          "type": "array",
                          "maxItems": 50,
                          "items": {
                            "type": "object",
                            "required": [
                              "amount"
                            ],
                            "properties": {
                              "amount": {
                                "type": "string",
                                "example": "0.01"
                              },
                              "userId": {
                                "type": "string",
                                "format": "uuid",
                                "example": "a1f70737-3844-4782-a321-ad481108a8ec"
                              },
                              "walletAddress": {
                                "type": "string",
                                "pattern": "^0x[a-fA-F0-9]{40}$",
                                "example": null
                              },
                              "externalWalletId": {
                                "type": "string",
                                "format": "uuid",
                                "description": "id of the registered external wallet paid by this item. Only present when the item was created with `externalWalletId`",
                                "example": "c5ab9e74-735f-4f7b-a5e6-631e773ee320"
                              }
                            }
                          }
                        }
                      }
                    },
                    "receipt": {
                      "type": "object",
                      "required": [
                        "transactionHash"
                      ],
                      "properties": {
                        "transactionHash": {
                          "type": "string",
                          "example": "0xeef52c844f72f41717f025b160a8e6b34ebcd22ea77b5e70fd6ab4c5a42e98af"
                        },
                        "userOpHash": {
                          "type": "string",
                          "example": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac"
                        },
                        "approval": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid",
                              "example": "006737ca-42d5-4780-b3c2-aeb63279c591"
                            },
                            "status": {
                              "type": "string",
                              "example": "PENDING"
                            },
                            "createdAt": {
                              "type": "string",
                              "format": "date-time",
                              "example": "2025-02-03T16:11:36.654998+00:00"
                            },
                            "updatedAt": {
                              "type": "string",
                              "format": "date-time",
                              "example": "2025-02-03T16:12:41.503+00:00"
                            },
                            "transferId": {
                              "type": "string",
                              "format": "uuid",
                              "example": "006737ca-42d5-4780-b3c2-aeb63279c591"
                            },
                            "transferType": {
                              "type": "string",
                              "example": "WALLET.TRANSFER.BATCH"
                            },
                            "fromDashboard": {
                              "type": "boolean",
                              "example": true
                            },
                            "initiatorProfileId": {
                              "type": "string",
                              "format": "uuid",
                              "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                            },
                            "votes": {
                              "type": "array",
                              "description": "Array of approval votes (only present when status is PENDING_APPROVAL or REJECTED)",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "approverId": {
                                    "type": "string",
                                    "format": "uuid",
                                    "example": "aec66b02-4f3f-471c-839a-94820b36abb2"
                                  },
                                  "vote": {
                                    "type": "string",
                                    "enum": [
                                      "APPROVE",
                                      "REJECT"
                                    ],
                                    "example": "REJECT"
                                  },
                                  "comment": {
                                    "type": "string",
                                    "example": "Transfer amount exceeds daily limit"
                                  },
                                  "createdAt": {
                                    "type": "string",
                                    "format": "date-time",
                                    "example": "2025-02-03T16:12:41.503+00:00"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "nextCursor": {
            "type": "string",
            "format": "date-time",
            "example": "2025-04-05T14:01:09.785Z"
          }
        },
        "example": {
          "count": 1,
          "records": [
            {
              "transferType": "WALLET.TRANSFER.BATCH",
              "transferDetails": {
                "id": "a671d42d-9417-4bb3-868e-06c868d0d4b8",
                "requestId": "d2189ddd-2d32-4a46-9421-d25ebf602e6c",
                "createdAt": "2025-04-05T14:01:09.785Z",
                "updatedAt": "2025-04-05T14:01:37.708Z",
                "chain": "POLYGON",
                "currency": "usdc",
                "contractAddress": "0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582",
                "status": "COMPLETED",
                "failedReason": null,
                "source": {
                  "userId": "a1f70737-3844-4782-a321-ad481108a8ec",
                  "walletAddress": "0xAFD59de44048D33d964f720ec2Dec3465D8D887D",
                  "walletType": "INDIVIDUAL"
                },
                "destination": {
                  "batch": [
                    {
                      "amount": "0.01",
                      "userId": "a1f70737-3844-4782-a321-ad481108a8ec"
                    },
                    {
                      "amount": "0.01",
                      "userId": "a1f70737-3844-4782-a321-ad481108a8ec"
                    },
                    {
                      "amount": "0.01",
                      "userId": "a1f70737-3844-4782-a321-ad481108a8ec"
                    },
                    {
                      "amount": "0.01",
                      "userId": "a1f70737-3844-4782-a321-ad481108a8ec"
                    },
                    {
                      "amount": "0.01",
                      "userId": "a1f70737-3844-4782-a321-ad481108a8ec"
                    }
                  ]
                },
                "receipt": {
                  "transactionHash": "0xeef52c844f72f41717f025b160a8e6b34ebcd22ea77b5e70fd6ab4c5a42e98af",
                  "userOpHash": "0xef7bdb071b1fcfb5df629bd4d27ffa6dc32d0a5df676f26fb8c25311df1185ac"
                }
              }
            }
          ],
          "nextCursor": "2025-04-05T14:01:09.785Z"
        }
      },
      "CreateWalletSwap": {
        "type": "object",
        "required": [
          "requestId",
          "source",
          "destination"
        ],
        "properties": {
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the swap request (recommend using uuid v4)",
            "example": "1ab3e6e0-4839-4dbe-89c3-b06d9645ae86"
          },
          "limitPrice": {
            "type": "string",
            "pattern": "^(?=.*[1-9])\\d+(?:\\.\\d{1,4})?$",
            "description": "Optional positive limit price, expressed as destination-currency units\nper one source-currency unit. Supported only for direct USDT/USDC swaps\nin either direction and limited to four decimal places. Omit to use\nmarket pricing.\n",
            "example": "0.9990"
          },
          "cancelAfterSeconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 86400,
            "description": "Optional number of seconds after creating the swap when execution should\nbe cancelled if it has not already started. Supported only for direct\nUSDT/USDC swaps in either direction. Omit to disable automatic cancellation.\n",
            "example": 3600
          },
          "source": {
            "type": "object",
            "description": "Source wallet information for the swap",
            "required": [
              "userId",
              "chain",
              "currency"
            ],
            "properties": {
              "userId": {
                "type": "string",
                "format": "uuid",
                "description": "User ID of the source wallet owner",
                "example": "05179f69-1988-4b46-a847-dd4eea0984d6"
              },
              "chain": {
                "type": "string",
                "enum": [
                  "POLYGON",
                  "ETHEREUM",
                  "SOLANA",
                  "TRON"
                ],
                "description": "Blockchain network for the source wallet",
                "example": "POLYGON"
              },
              "currency": {
                "type": "string",
                "enum": [
                  "usdc",
                  "usdt"
                ],
                "description": "Source cryptocurrency to swap from",
                "example": "usdt"
              },
              "amount": {
                "type": "string",
                "description": "Amount to swap (either source.amount or destination.amount must be provided)",
                "example": "10000"
              }
            }
          },
          "destination": {
            "type": "object",
            "description": "Destination wallet information for the swap",
            "required": [
              "chain",
              "currency"
            ],
            "properties": {
              "userId": {
                "type": "string",
                "format": "uuid",
                "description": "User ID of the destination wallet owner",
                "example": "05179f69-1988-4b46-a847-dd4eea0984d6"
              },
              "externalWalletId": {
                "type": "string",
                "format": "uuid",
                "description": "External wallet ID (Exclude with userId)",
                "example": "64fc4e9d-4839-4384-b4a0-0376af2c9b2e"
              },
              "walletAddress": {
                "type": "string",
                "pattern": "^0x[a-fA-F0-9]{40}$",
                "description": "Wallet address (Exclude with userId)",
                "example": "0xE9cfBf1D690565579D823264170eE357f80e9A34"
              },
              "chain": {
                "type": "string",
                "enum": [
                  "POLYGON",
                  "ETHEREUM",
                  "SOLANA",
                  "TRON"
                ],
                "description": "Blockchain network for the destination wallet",
                "example": "POLYGON"
              },
              "currency": {
                "type": "string",
                "enum": [
                  "usdc",
                  "usdt",
                  "usdg"
                ],
                "description": "Destination cryptocurrency to swap to",
                "example": "usdc"
              },
              "amount": {
                "type": "string",
                "description": "Amount to receive (either source.amount or destination.amount must be provided)",
                "example": "10000"
              }
            }
          }
        }
      },
      "WalletSwapObject": {
        "type": "object",
        "properties": {
          "transferType": {
            "type": "string",
            "example": "WALLET.SWAP"
          },
          "transferDetails": {
            "$ref": "#/components/schemas/WalletSwapDetailsObject"
          }
        }
      },
      "WalletSwapRateObject": {
        "type": "object",
        "properties": {
          "sourceCurrency": {
            "type": "string",
            "example": "usdc"
          },
          "destinationCurrency": {
            "type": "string",
            "example": "usdt"
          },
          "sourceAmount": {
            "type": "string",
            "example": "100.00"
          },
          "destinationAmount": {
            "type": "string",
            "example": "99.98"
          },
          "conversionRate": {
            "type": "string",
            "example": "0.99980"
          }
        },
        "example": {
          "sourceCurrency": "usdc",
          "destinationCurrency": "usdt",
          "sourceAmount": "100.00",
          "destinationAmount": "99.98",
          "conversionRate": "0.99980"
        }
      },
      "WalletSwapDetailsObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "dc923cc1-d74b-58f6-9fe4-9e9c6eb8dc37"
          },
          "requestId": {
            "type": "string",
            "format": "uuid",
            "example": "1ab3e6e0-4839-4dbe-89c3-b06d9645ae86"
          },
          "status": {
            "type": "string",
            "enum": [
              "OPEN_QUOTE",
              "CREATED",
              "PENDING",
              "COMPLETED",
              "QUOTE_FAILED",
              "FAILED",
              "CANCELLED"
            ],
            "example": "COMPLETED"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2025-08-20T03:55:29.437108+00:00"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2025-08-20T04:08:10.837+00:00"
          },
          "source": {
            "$ref": "#/components/schemas/WalletSwapSourceObject"
          },
          "destination": {
            "$ref": "#/components/schemas/WalletSwapDestinationObject"
          },
          "error": {
            "type": "string",
            "nullable": true,
            "example": null
          },
          "errorDetails": {
            "type": "string",
            "nullable": true,
            "example": null
          },
          "cancellable": {
            "type": "boolean",
            "description": "Whether a new manual cancellation request can be submitted for this swap.\n`false` after cancellation has been requested, execution has passed the\ncancellation point of no return, or the swap is in a terminal status.\n",
            "example": true
          },
          "autoCancelAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Absolute automatic-cancellation deadline requested when the swap was\ncreated. `null` when no automatic deadline was requested. The deadline\nis actionable only while `cancellable` is `true`.\n",
            "example": "2026-07-13T02:00:00.000Z"
          },
          "cancelRequestedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Server timestamp for the accepted manual cancellation request. `null`\nuntil a manual cancellation request has been recorded.\n",
            "example": null
          },
          "quoteInformation": {
            "$ref": "#/components/schemas/WalletSwapQuoteInformationObject"
          }
        }
      },
      "WalletSwapSourceObject": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt",
              "usdg",
              "pyusd",
              "pyusd0"
            ],
            "example": "usdc"
          },
          "amount": {
            "type": "number",
            "example": 10
          },
          "chain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "ETHEREUM",
              "SOLANA",
              "FLOW_EVM"
            ]
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "example": "05179f69-1988-4b46-a847-dd4eea0984d6"
          }
        }
      },
      "WalletSwapDestinationObject": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt",
              "usdg",
              "pyusd",
              "pyusd0"
            ],
            "example": "usdt"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "example": "05179f69-1988-4b46-a847-dd4eea0984d6"
          },
          "externalWalletId": {
            "type": "string",
            "format": "uuid",
            "nullable": true,
            "example": null
          },
          "amount": {
            "type": "number",
            "nullable": true,
            "example": null
          },
          "chain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "ETHEREUM",
              "SOLANA",
              "FLOW_EVM"
            ],
            "example": "POLYGON"
          },
          "walletAddress": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "example": "0xe5727a4B1d93A26D6A7Adfaae145EFa41ED7f204"
          }
        }
      },
      "WalletSwapQuoteInformationObject": {
        "type": "object",
        "properties": {
          "sendGross": {
            "$ref": "#/components/schemas/WalletSwapAmountObject"
          },
          "sendNet": {
            "$ref": "#/components/schemas/WalletSwapAmountObject"
          },
          "receiveGross": {
            "$ref": "#/components/schemas/WalletSwapAmountObject"
          },
          "receiveNet": {
            "$ref": "#/components/schemas/WalletSwapAmountObject"
          },
          "rate": {
            "type": "string",
            "example": "1"
          },
          "limitPrice": {
            "type": "string",
            "pattern": "^(?=.*[1-9])\\d+(?:\\.\\d{1,4})?$",
            "description": "The accepted client limit price, expressed as destination-currency\nunits per one source-currency unit. Present only when the swap request\nincluded `limitPrice`.\n",
            "example": "0.9990"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "example": "2025-08-20T03:55:59.539+00:00"
          }
        }
      },
      "WalletSwapAmountObject": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "string",
            "example": "10"
          },
          "currency": {
            "type": "string",
            "example": "usdc"
          }
        }
      },
      "WalletSwapBillingInformationObject": {
        "type": "object",
        "properties": {
          "fees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WalletSwapFeeObject"
            }
          }
        }
      },
      "WalletSwapFeeObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "2ca381ec-9498-52f5-9a27-d0e392b2626b"
          },
          "amount": {
            "type": "number",
            "example": 0.01
          },
          "currency": {
            "type": "string",
            "example": "USD"
          },
          "type": {
            "type": "string",
            "enum": [
              "EXCHANGE_FEE",
              "GAS_FEE"
            ],
            "example": "EXCHANGE_FEE"
          },
          "timing": {
            "type": "string",
            "enum": [
              "ON_INVOICE",
              "ON_TRANSACTION"
            ],
            "example": "ON_INVOICE"
          }
        }
      },
      "WalletSwapAllRecordsObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "example": 1
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WalletSwapObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "format": "date-time",
            "example": "2025-08-20T04:08:10.837+00:00"
          }
        }
      },
      "CancelCryptoTransferResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Transaction cancelled in progress"
          }
        },
        "example": {
          "message": "Transaction cancelled in progress"
        }
      },
      "OnrampStatusEnum": {
        "type": "string",
        "enum": [
          "NOT_INITIATED",
          "CREATED",
          "OPEN_QUOTE",
          "IN_REVIEW",
          "FIAT_INITIATED",
          "AWAITING_FUNDS",
          "FIAT_PENDING",
          "FIAT_PROCESSED",
          "CRYPTO_INITIATED",
          "CRYPTO_PENDING",
          "COMPLETED",
          "FIAT_FAILED",
          "FIAT_RETURNED",
          "CRYPTO_FAILED",
          "QUOTE_FAILED",
          "EXPIRED",
          "CANCELLED",
          "UNKNOWN"
        ],
        "description": "Refer to [here](https://docs.hifi.com/docs/transfers/onramps#transaction-status) for more details on each onramp status.\n"
      },
      "OnrampSandboxScenario": {
        "type": "string",
        "enum": [
          "FIAT_FAILED",
          "COMPLETED"
        ],
        "description": "Sandbox-only field that forces the onramp created by this deposit to a predetermined outcome\n"
      },
      "CreateOnramp": {
        "type": "object",
        "title": "Onramp",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ]
          },
          "isInstant": {
            "type": "boolean",
            "default": false,
            "description": "instant onramp. coming soon ...\n"
          },
          "source": {
            "type": "object",
            "description": "onramp source",
            "$ref": "#/components/schemas/OnrampSource"
          },
          "destination": {
            "type": "object",
            "description": "onramp destination",
            "$ref": "#/components/schemas/OnrampDestination"
          },
          "fee": {
            "type": "object",
            "description": "custom onramp fee, omit if no fee is charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/OnrampFee"
              }
            ]
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "CreateUsdAchPullOnramp": {
        "type": "object",
        "title": "Onramp (USD Plaid)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ]
          },
          "source": {
            "type": "object",
            "description": "onramp source",
            "$ref": "#/components/schemas/UsdAchPullOnrampSource"
          },
          "destination": {
            "type": "object",
            "description": "onramp destination",
            "$ref": "#/components/schemas/OnrampDestination"
          },
          "fee": {
            "type": "object",
            "description": "custom onramp fee, omit if no fee is charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/OnrampFee"
              }
            ]
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "UsdAchPullOnrampSource": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "amount of fiat currency to send"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "fiat currency"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "The ACH onramp bank account to ACH pull the funds from.\n"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is sending the fiat"
          }
        },
        "required": [
          "currency",
          "userId",
          "accountId"
        ]
      },
      "CreateUsdOnramp": {
        "type": "object",
        "title": "Onramp (USD)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "source": {
            "type": "object",
            "description": "onramp source",
            "$ref": "#/components/schemas/UsdOnrampSource"
          },
          "destination": {
            "type": "object",
            "description": "onramp destination",
            "$ref": "#/components/schemas/OnrampDestination"
          },
          "fee": {
            "type": "object",
            "description": "custom onramp fee, omit if no fee is charged",
            "allOf": [
              {
                "$ref": "#/components/schemas/OnrampFee"
              }
            ]
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "UsdOnrampSource": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "amount of fiat currency to send"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "fiat currency"
          },
          "transferType": {
            "type": "string",
            "enum": [
              "ach",
              "wire"
            ],
            "description": "payment network type\n"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "bank account to ACH pull from.\n"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is funding the fiat."
          }
        },
        "required": [
          "transferType",
          "currency",
          "userId"
        ]
      },
      "CreateEuroOnramp": {
        "type": "object",
        "title": "Onramp (EURO)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ]
          },
          "isInstant": {
            "type": "boolean",
            "default": false,
            "description": "instant onramp. coming soon ...\n"
          },
          "source": {
            "type": "object",
            "description": "onramp source",
            "$ref": "#/components/schemas/EuroOnrampSource"
          },
          "destination": {
            "type": "object",
            "description": "onramp destination",
            "$ref": "#/components/schemas/OnrampDestination"
          },
          "fee": {
            "type": "object",
            "description": "custom onramp fee, omit if no fee is charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/OnrampFee"
              }
            ]
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "EuroOnrampSource": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "amount of fiat currency to send"
          },
          "currency": {
            "type": "string",
            "enum": [
              "eur"
            ],
            "description": "fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is sending the fiat"
          }
        },
        "required": [
          "currency",
          "userId"
        ]
      },
      "CreateBrlOnramp": {
        "type": "object",
        "title": "Onramp (BRL)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ]
          },
          "isInstant": {
            "type": "boolean",
            "default": false,
            "description": "instant onramp. coming soon ...\n"
          },
          "source": {
            "type": "object",
            "description": "onramp source",
            "$ref": "#/components/schemas/BrlOnrampSource"
          },
          "destination": {
            "type": "object",
            "description": "onramp destination",
            "$ref": "#/components/schemas/OnrampDestination"
          },
          "fee": {
            "type": "object",
            "description": "custom onramp fee, omit if no fee is charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/OnrampFee"
              }
            ]
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "BrlOnrampSource": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "amount of fiat currency to send"
          },
          "currency": {
            "type": "string",
            "enum": [
              "brl"
            ],
            "description": "fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is sending the fiat"
          }
        },
        "required": [
          "currency",
          "userId"
        ]
      },
      "CreateMxnOnramp": {
        "type": "object",
        "title": "Onramp (MXN)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ]
          },
          "isInstant": {
            "type": "boolean",
            "default": false,
            "description": "instant onramp. coming soon ...\n"
          },
          "source": {
            "type": "object",
            "description": "onramp source",
            "$ref": "#/components/schemas/MxnOnrampSource"
          },
          "destination": {
            "type": "object",
            "description": "onramp destination",
            "$ref": "#/components/schemas/OnrampDestination"
          },
          "fee": {
            "type": "object",
            "description": "custom onramp fee, omit if no fee is charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/OnrampFee"
              }
            ]
          }
        },
        "required": [
          "requestId",
          "source",
          "destination"
        ]
      },
      "MxnOnrampSource": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "amount of fiat currency to send"
          },
          "currency": {
            "type": "string",
            "enum": [
              "mxn"
            ],
            "description": "fiat currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is sending the fiat"
          }
        },
        "required": [
          "currency",
          "userId"
        ]
      },
      "CreateAfricaOnramp": {
        "type": "object",
        "title": "Onramp (Africa)",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "unique identifier for the request (recommend using uuid v4)"
          },
          "purposeOfPayment": {
            "type": "string",
            "enum": [
              "gift",
              "bills",
              "groceries",
              "travel",
              "health",
              "entertainment",
              "housing",
              "school-fees",
              "other"
            ]
          },
          "isInstant": {
            "type": "boolean",
            "default": false,
            "description": "instant onramp. coming soon ...\n"
          },
          "source": {
            "type": "object",
            "description": "onramp source",
            "$ref": "#/components/schemas/AfricaOnrampSource"
          },
          "destination": {
            "type": "object",
            "description": "onramp destination",
            "$ref": "#/components/schemas/OnrampDestination"
          },
          "fee": {
            "type": "object",
            "description": "custom onramp fee, omit if no fee is charged",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/OnrampFee"
              }
            ]
          }
        },
        "required": [
          "requestId",
          "source",
          "destination",
          "purposeOfPayment"
        ]
      },
      "AfricaOnrampSource": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "amount of fiat currency to send"
          },
          "currency": {
            "type": "string",
            "description": "fiat currency.\nLook at the list of supported `currency` [here](https://docs.google.com/spreadsheets/d/1QxAWGoZMznB6_Ts4mzFcFD49ZOMUZNdNiR6wlr8NDL0/edit?gid=293141391#gid=293141391).\nMake sure the `currency` enum is supported for the provided `accountId`.\n"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account the fiat comes from. eg. usd Plaid account\n\n* this field is optional when onramping from `currency`: `usd`\n* this field is not required when onramping from `currency`: `brl`\n* this field is required when onramping from the rest of the currencies\n"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is sending the fiat"
          }
        },
        "required": [
          "currency",
          "userId",
          "accountId"
        ]
      },
      "FiatToCryptoConversionRateObject": {
        "type": "object",
        "properties": {
          "fromCurrency": {
            "type": "string",
            "enum": [
              "usd",
              "ugx",
              "ngn",
              "bwp",
              "tzs",
              "mwk",
              "xaf",
              "kes"
            ],
            "description": "source currency"
          },
          "toCurrency": {
            "type": "string",
            "enum": [
              "usdc"
            ],
            "description": "target currency"
          },
          "conversionRate": {
            "type": "string"
          },
          "conversionRates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "transferType": {
                  "type": "string",
                  "description": "when `transferType` is `default`, this is the conversion rate for the default transfer type"
                },
                "conversionRate": {
                  "type": "string"
                }
              }
            }
          }
        },
        "example": {
          "fromCurrency": "usd",
          "toCurrency": "usdc",
          "conversionRate": "1",
          "conversionRates": [
            {
              "transferType": "default",
              "conversionRate": "1"
            }
          ]
        }
      },
      "OnrampSource": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "amount of fiat currency to send"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usd",
              "ngn",
              "mwk",
              "bwp",
              "xaf",
              "ghs",
              "kes",
              "rwf",
              "zar",
              "tzs",
              "ugx",
              "xof",
              "zmw",
              "brl",
              "mxn",
              "eur"
            ],
            "description": "fiat currency"
          },
          "transferType": {
            "type": "string",
            "enum": [
              "ach",
              "wire"
            ],
            "description": "payment network type\n\n* this field is used when onramping from usd, default is `ach`\n"
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "account the fiat comes from. eg. usd Plaid account\n\n* this field is optional when onramping from `currency`: `usd`\n* this field is not required when onramping from `currency`: `brl`, `mxn`\n* this field is required when onramping from the rest of the currencies\n"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is sending the fiat"
          }
        },
        "required": [
          "currency",
          "userId"
        ]
      },
      "OnrampDestination": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "amount of crypto currency to receive"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt",
              "usdHifi"
            ],
            "description": "crypto currency (note: `usdHifi` is only available in sandbox to simulate token movement)\n"
          },
          "chain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "ETHEREUM",
              "SOLANA",
              "BASE",
              "TRON"
            ],
            "description": "chain of the crypto currency"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "user who is receiving the crypto, required if `externalWalletId` is not provided"
          },
          "externalWalletId": {
            "type": "string",
            "format": "uuid",
            "description": "external wallet id who is receiving the crypto, required if `userId` is not provided"
          }
        }
      },
      "OnrampFee": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "FIX",
              "PERCENT"
            ]
          },
          "value": {
            "type": "number",
            "format": "float",
            "minimum": 0,
            "description": "custom transaction fee (`0.01` represents `1%` when `type` is set to `PERCENT`, checkout https://docs.hifi.com/v2/docs/fee-collection for more information)\n"
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "OnrampDepositInfoObject": {
        "type": "object",
        "properties": {
          "bankName": {
            "type": "string"
          },
          "bankAddress": {
            "type": "string"
          },
          "swiftCode": {
            "type": "string"
          },
          "beneficiary": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "address": {
                "type": "string"
              }
            }
          },
          "ach": {
            "type": "object",
            "properties": {
              "routingNumber": {
                "type": "string"
              },
              "accountNumber": {
                "type": "string"
              }
            }
          },
          "wire": {
            "type": "object",
            "properties": {
              "routingNumber": {
                "type": "string"
              },
              "accountNumber": {
                "type": "string"
              }
            }
          },
          "rtp": {
            "type": "object",
            "properties": {
              "routingNumber": {
                "type": "string"
              },
              "accountNumber": {
                "type": "string"
              }
            }
          },
          "reference": {
            "type": "string"
          },
          "depositBy": {
            "type": "string",
            "format": "date-time"
          },
          "instruction": {
            "type": "string"
          }
        }
      },
      "OnrampObject": {
        "type": "object",
        "properties": {
          "transferType": {
            "type": "string"
          },
          "transferDetails": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "requestId": {
                "type": "string",
                "format": "uuid"
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              },
              "status": {
                "$ref": "#/components/schemas/OnrampStatusEnum"
              },
              "failedReason": {
                "type": "string",
                "nullable": true,
                "description": "Legacy failure label. `null` unless the transaction failed, and `null` on most failures in favour of `error` / `errorDetails`."
              },
              "error": {
                "type": "string",
                "description": "Error code when the onramp transaction has failed (e.g. `INTERNAL_ERROR`, `EXPIRED`, `AMOUNT_TOO_LOW`, `TRANSACTION_REJECTED`).\nPresent when status is a failed state such as `FIAT_FAILED`, `CRYPTO_FAILED`, or `QUOTE_FAILED`.\n"
              },
              "errorDetails": {
                "type": "string",
                "description": "Human-readable error details when the onramp transaction has failed.\nPresent when status is a failed state.\n"
              },
              "source": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number",
                    "format": "float"
                  },
                  "accountId": {
                    "type": "string",
                    "nullable": true,
                    "description": "Source account the fiat was pulled from. `null` for deposits into a virtual account or into onramp deposit instructions, where no source account is on file."
                  },
                  "user": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string",
                        "nullable": true
                      },
                      "lastName": {
                        "type": "string",
                        "nullable": true,
                        "description": "`null` for business users, which carry `businessName` instead."
                      },
                      "firstName": {
                        "type": "string",
                        "nullable": true,
                        "description": "`null` for business users, which carry `businessName` instead."
                      },
                      "businessName": {
                        "type": "string",
                        "nullable": true,
                        "description": "`null` for individual users, which carry `firstName` / `lastName` instead."
                      }
                    }
                  },
                  "bankInfo": {
                    "nullable": true,
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/InboundObject"
                      }
                    ]
                  }
                }
              },
              "destination": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "chain": {
                    "type": "string"
                  },
                  "walletAddress": {
                    "type": "string"
                  },
                  "externalWalletId": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number",
                    "format": "float"
                  },
                  "user": {
                    "type": "object",
                    "properties": {
                      "email": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string"
                      },
                      "firstName": {
                        "type": "string"
                      },
                      "businessName": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "receipt": {
                "type": "object",
                "properties": {
                  "transactionHash": {
                    "type": "string",
                    "nullable": true
                  },
                  "returnReasonCode": {
                    "type": "string",
                    "nullable": true,
                    "description": "Reason code for the returned inbound payment. Only populated when `status` is `FIAT_RETURNED`."
                  }
                }
              },
              "virtualAccountId": {
                "type": "string",
                "format": "uuid",
                "nullable": true,
                "description": "Virtual account the funds were deposited into. `null` when the onramp was not driven by a virtual account."
              },
              "microDeposits": {
                "type": "object",
                "description": "Micro deposits received into the onramp deposit account while it is awaiting funds.",
                "properties": {
                  "count": {
                    "type": "integer"
                  },
                  "data": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "createdAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "amount": {
                          "type": "string",
                          "description": "Amount received, in dollars as a decimal string (for example `\"0.71\"`). Not cents.",
                          "example": "0.71"
                        },
                        "sourceBankInfo": {
                          "$ref": "#/components/schemas/InboundObject"
                        }
                      }
                    }
                  }
                }
              },
              "quoteInformation": {
                "type": "object",
                "nullable": true,
                "properties": {
                  "sendGross": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "sendNet": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "railFee": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "receiveGross": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "receiveNet": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      }
                    }
                  },
                  "rate": {
                    "type": "string"
                  },
                  "conversionFee": {
                    "type": "object",
                    "description": "Conversion fee applied on the quote. Present on usd onramps, where it is always zero.",
                    "properties": {
                      "amount": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "timing": {
                        "type": "string"
                      }
                    }
                  },
                  "expiresAt": {
                    "type": "string",
                    "description": "Expiry of the quote as an ISO 8601 timestamp. Returns the literal string `\"N/A\"` for\nstatic quotes (usd onramps), which do not expire.\n"
                  }
                }
              },
              "depositInfo": {
                "nullable": true,
                "allOf": [
                  {
                    "$ref": "#/components/schemas/OnrampDepositInfoObject"
                  }
                ]
              }
            }
          }
        }
      },
      "OnrampQuoteObject": {
        "$ref": "#/components/schemas/OnrampObject"
      },
      "OnrampAcceptedQuoteObject": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/OnrampObject"
          },
          {
            "type": "object",
            "properties": {
              "depositInfo": {
                "$ref": "#/components/schemas/OnrampDepositInfoObject"
              }
            }
          }
        ]
      },
      "OnrampRecordObject": {
        "$ref": "#/components/schemas/OnrampObject"
      },
      "OnrampAllRecordsObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer"
          },
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OnrampRecordObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        }
      },
      "CancelOnrampResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Transaction: {transferId} cancelled successfully"
          }
        },
        "example": {
          "message": "Transaction: {transferId} cancelled successfully"
        }
      },
      "OrchestrationAddressModeEnum": {
        "type": "string",
        "enum": [
          "PER_DEPOSIT",
          "SCHEDULED",
          "THRESHOLD"
        ],
        "description": "Determines when deposits are converted into an offramp.\n  * `PER_DEPOSIT` — each deposit is batched into its own offramp immediately, UNLESS the cumulative `PENDING` amount is below the destination rail's offramp minimum, in which case the deposit is held `PENDING` and all pending deposits are batched together once their cumulative amount reaches the minimum.\n  * `SCHEDULED` — deposits accumulate until the next schedule boundary (`HOURLY`/`DAILY`/`WEEKLY`), then the entire pending pool is batched together (only if it meets the offramp minimum; otherwise it rolls into the next tick).\n  * `THRESHOLD` — deposits accumulate until their summed amount reaches `thresholdAmount`, then the entire pending pool is batched.\n"
      },
      "OrchestrationAddressStatusEnum": {
        "type": "string",
        "enum": [
          "PENDING_WALLET",
          "ACTIVE",
          "DEACTIVATED"
        ],
        "description": "Lifecycle status of the orchestration address.\n  * `PENDING_WALLET` — created but the escrow wallet is still being provisioned. The on-chain `address` is null. Typically transient (a few seconds).\n  * `ACTIVE` — wallet provisioned, ready to receive deposits.\n  * `DEACTIVATED` — soft-deleted. The on-chain wallet still exists and can receive funds, but incoming deposits are recorded with `status=IGNORED` and never offramped.\n"
      },
      "OrchestrationScheduleIntervalEnum": {
        "type": "string",
        "enum": [
          "HOURLY",
          "DAILY",
          "WEEKLY"
        ],
        "description": "How often a `SCHEDULED` orchestration address rolls up pending deposits into a batch."
      },
      "OrchestrationDepositStatusEnum": {
        "type": "string",
        "enum": [
          "PENDING",
          "BATCHED",
          "IGNORED",
          "REFUNDED"
        ],
        "description": "Per-deposit status.\n  * `PENDING` — recorded, waiting to be rolled into a batch.\n  * `BATCHED` — included in a batch (`batchId` is set).\n  * `IGNORED` — recorded but never batched. See `ignoredReason` for why.\n  * `REFUNDED` — was `PENDING` when the address was deactivated; the funds were refunded in-kind to the `walletAddress` supplied at deactivation.\n"
      },
      "OrchestrationDepositIgnoredReasonEnum": {
        "type": "string",
        "enum": [
          "ADDRESS_DEACTIVATED",
          "UNSUPPORTED_TOKEN"
        ],
        "description": "Why a deposit was ignored. Funds remain in the escrow wallet — a Slack\nalert fires for manual ops follow-up.\n  * `ADDRESS_DEACTIVATED` — the deposit arrived after the address was deactivated.\n  * `UNSUPPORTED_TOKEN` — the deposited token does not match the address's configured `source.currency` (e.g. USDT sent to a USDC-only address).\n"
      },
      "OrchestrationBatchStatusEnum": {
        "type": "string",
        "enum": [
          "PENDING",
          "PROCESSING",
          "COMPLETED",
          "FAILED"
        ],
        "description": "Batch lifecycle.\n  * `PENDING` — created; the worker has not yet picked it up.\n  * `PROCESSING` — the linked offramp has been created and is in flight.\n  * `COMPLETED` — the linked offramp reached `COMPLETED`.\n  * `FAILED` — terminal failure. See `failureReason`.\n"
      },
      "OrchestrationBatchFailureReasonEnum": {
        "type": "string",
        "enum": [
          "ADDRESS_NOT_ACTIVE",
          "NOT_INITIATED",
          "QUOTE_FAILED",
          "CRYPTO_FAILED",
          "FIAT_FAILED",
          "EXPIRED",
          "REJECTED",
          "CANCELLED"
        ],
        "description": "Populated when `status=FAILED`.\n  * `ADDRESS_NOT_ACTIVE` — the address was deactivated before the worker created\n    the offramp. The only input condition that terminally fails a batch.\n  * All other values are terminal statuses surfaced from the linked offramp\n    transaction (e.g. lost product access → `NOT_INITIATED`, a rejected AML\n    review → a terminal status).\n\nInternal inconsistencies (missing address, payout account lost its rail, a\nprocessor-validation bug) do **not** appear here — the worker pauses the batch\n(leaves it `PENDING`) and alerts ops instead of marking it `FAILED`.\n"
      },
      "OrchestrationManualTriggerReasonEnum": {
        "type": "string",
        "enum": [
          "no_pending_deposits",
          "address_no_longer_active",
          "below_offramp_minimum"
        ],
        "description": "Reason the manual trigger was a no-op (returned when `triggered=false`).\n  * `no_pending_deposits` — the address has no `PENDING` deposits to batch.\n  * `address_no_longer_active` — the address was deactivated between the read and the row-lock acquisition.\n  * `below_offramp_minimum` — the summed `PENDING` deposits are below the destination rail's offramp minimum, so they are held to accumulate rather than batched.\n"
      },
      "OrchestrationAddressSource": {
        "type": "object",
        "description": "The on-chain source the orchestration address accepts deposits in. A stablecoin\ncontract must exist for the `(currency, chain)` pair — USDC is supported on\nBase/Polygon/Ethereum/Solana, while USDT is supported on Polygon/Ethereum/Solana/TRON (not Base).\nUnsupported pairs (e.g. USDC on TRON, USDT on Base) are rejected at create time with `400`.\n",
        "properties": {
          "currency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt"
            ],
            "description": "Stablecoin the address accepts. v1 supports USDC and USDT, subject to chain support (see above)."
          },
          "chain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "ETHEREUM",
              "SOLANA",
              "BASE",
              "FLOW_EVM",
              "BSC",
              "TRON"
            ],
            "description": "Blockchain network the address lives on, as an abbreviated chain name.\nThe same abbreviated form is used in both requests and responses (e.g.\n`BASE`).\n"
          }
        },
        "required": [
          "currency",
          "chain"
        ]
      },
      "OrchestrationAddressDestination": {
        "type": "object",
        "description": "The destination payout configuration. v1 ships USD only, via an existing offramp account.",
        "properties": {
          "currency": {
            "type": "string",
            "enum": [
              "usd"
            ],
            "description": "Destination fiat currency. v1 ships USD only."
          },
          "accountId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the offramp account that will receive the converted fiat. Must\nbelong to the same user, be a USD offramp account, be active, and be\nrouted through HIFI's US fiat partner. Get one via\n`POST /v2/users/{userId}/accounts`.\n"
          }
        },
        "required": [
          "currency",
          "accountId"
        ]
      },
      "OrchestrationAddressSchedule": {
        "type": "object",
        "description": "Schedule config for a `SCHEDULED` orchestration address.",
        "properties": {
          "interval": {
            "$ref": "#/components/schemas/OrchestrationScheduleIntervalEnum"
          },
          "nextRunAt": {
            "type": "string",
            "format": "date-time",
            "description": "Optional ISO 8601 timestamp for the first scheduled batch. Defaults to\n`now + interval` if omitted. Subsequent ticks advance by exactly one\ninterval; missed windows (worker downtime) collapse into a single\ncatch-up batch rather than firing N back-to-back.\n"
          }
        },
        "required": [
          "interval"
        ]
      },
      "CreateOrchestrationAddress": {
        "type": "object",
        "title": "Create Orchestration Address",
        "description": "Provisions a new persistent on-chain address that automatically offramps any\nstablecoin it receives.\n\n**Mode rules (cross-field):**\n  * `mode=PER_DEPOSIT` — must NOT include `schedule` or `thresholdAmount`.\n  * `mode=SCHEDULED` — MUST include `schedule.interval`; must NOT include `thresholdAmount`. `schedule.nextRunAt` is optional.\n  * `mode=THRESHOLD` — MUST include `thresholdAmount`; must NOT include `schedule`.\n\n**Source rules:** `source.currency` must be supported on `source.chain` (e.g. USDT on TRON, USDC on Base/Polygon/Ethereum/Solana). Unsupported pairs like USDC on TRON are rejected with `400`.\n\n**Offramp minimums:** each destination rail has a minimum offramp amount (e.g. ≥ 5 for SWIFT, ≥ 1 for wire/ACH/RTP; USDT carries a ≥ 10 floor). `mode=THRESHOLD` requires `thresholdAmount` to meet that minimum, and a batch is only ever created once the pending deposits reach it — deposits below the minimum are held `PENDING` to accumulate.\n\n**Idempotency:** `requestId` is the client-supplied idempotency key. Repeating the same `requestId` with the same payload returns the existing record (200). Repeating with a *different* payload returns `409 RESOURCE_CONFLICT` indicating which field differs (e.g. `requestId already used with a different source.currency`).\n\n**Wallet provisioning:** the response is returned synchronously after the escrow wallet is provisioned, so `status=ACTIVE` and `address` is non-null in the typical case. If the provider call is in flight, `status=PENDING_WALLET` and `address=null` — retry the same call (same `requestId`) to drive provisioning forward.\n",
        "properties": {
          "requestId": {
            "type": "string",
            "format": "uuid",
            "description": "Client-supplied idempotency key (UUID v4 recommended). Unique per `(profileId, requestId)`."
          },
          "source": {
            "$ref": "#/components/schemas/OrchestrationAddressSource"
          },
          "destination": {
            "$ref": "#/components/schemas/OrchestrationAddressDestination"
          },
          "offrampMessage": {
            "type": "string",
            "nullable": true,
            "description": "Optional payment message, preserved exactly. Wire allows at most four lines of\n35 characters; ACH allows 10 characters; SWIFT allows 12. Only printable ASCII\nand newlines are accepted; backslashes and other control characters are rejected.\nNonempty messages are unsupported for RTP and other rails. Missing, null, or\nempty means no message on create; on update omission preserves the setting and\nnull or empty clears it. A destination change revalidates the saved or supplied\nmessage. Returns null when unset. Queued batches read current settings when\ninitializing an offramp; initialized offramps retain their saved message on retry.\n",
            "example": "Invoice 42"
          },
          "mode": {
            "$ref": "#/components/schemas/OrchestrationAddressModeEnum"
          },
          "schedule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrchestrationAddressSchedule"
              }
            ],
            "description": "Required when `mode=SCHEDULED`. Forbidden otherwise.\n",
            "nullable": true
          },
          "thresholdAmount": {
            "type": "string",
            "description": "Required when `mode=THRESHOLD`. Forbidden otherwise. Decimal amount in\nthe address's source `currency` (e.g. `\"100.00\"`). Must be at least the\ndestination rail's offramp minimum (e.g. ≥ 5 for SWIFT, ≥ 1 for\nwire/ACH/RTP; USDT ≥ 10), else `400`. Aggregate pending deposits are\nsummed in integer token units (BigInt) and compared to this value, so\nfloating-point drift never blocks the threshold.\n",
            "example": "100.00",
            "nullable": true
          }
        },
        "required": [
          "requestId",
          "source",
          "destination",
          "mode"
        ]
      },
      "DeactivateOrchestrationAddress": {
        "type": "object",
        "title": "Deactivate Orchestration Address",
        "description": "Body for deactivating an orchestration address. Any deposits still `PENDING`\n(not yet rolled into a batch) are refunded in-kind to `walletAddress`.\n",
        "required": [
          "walletAddress"
        ],
        "properties": {
          "walletAddress": {
            "type": "string",
            "description": "Destination address for the in-kind refund of the address's `PENDING`\ndeposits. Must be a valid address for the orchestration address's `chain`\n(else `400 FIELD_VALIDATION_ERROR`). Required even when there are no\npending deposits to refund.\n"
          }
        }
      },
      "UpdateOrchestrationAddress": {
        "type": "object",
        "title": "Update Orchestration Address",
        "description": "Partial update. Any combination of `mode`, `schedule`, `thresholdAmount`, `offrampMessage`,\nand `destination.accountId` may be set. Same mode cross-rules as create\napply to the *resulting* configuration (e.g. switching to `THRESHOLD`\nrequires `thresholdAmount`).\n\n**Side effects:**\n  * Switching mode clears schedule-only fields when they no longer apply.\n  * Changing `schedule.interval` without an explicit `nextRunAt` resets the next tick to `now + newInterval`.\n  * Changing `destination.accountId` re-validates the new account (must belong to user, be USD, be an offramp account, etc.).\n  * Queued batches use the current settings when the worker reads the OA to begin offramp initialization. Later edits do not alter that attempt or already-initialized offramps and their saved messages.\n\nA `DEACTIVATED` address cannot be updated — returns `400 RESOURCE_CONFLICT`.\nConcurrent changes to the validated message, destination, mode, or status return\n`409 RESOURCE_CONFLICT`; reload the current settings and retry the update.\n",
        "properties": {
          "offrampMessage": {
            "type": "string",
            "nullable": true,
            "description": "Optional payment message, preserved exactly. Wire allows at most four lines of\n35 characters; ACH allows 10 characters; SWIFT allows 12. Only printable ASCII\nand newlines are accepted; backslashes and other control characters are rejected.\nNonempty messages are unsupported for RTP and other rails. Missing, null, or\nempty means no message on create; on update omission preserves the setting and\nnull or empty clears it. A destination change revalidates the saved or supplied\nmessage. Returns null when unset. Queued batches read current settings when\ninitializing an offramp; initialized offramps retain their saved message on retry.\n",
            "example": "Invoice 42"
          },
          "mode": {
            "$ref": "#/components/schemas/OrchestrationAddressModeEnum"
          },
          "schedule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrchestrationAddressSchedule"
              }
            ],
            "nullable": true
          },
          "thresholdAmount": {
            "type": "string",
            "description": "New aggregate threshold. Required if the resulting mode is `THRESHOLD`,\nand must be at least the destination rail's offramp minimum (else `400`).\n",
            "nullable": true
          },
          "destination": {
            "type": "object",
            "description": "Partial destination update — only `accountId` may be changed.",
            "properties": {
              "accountId": {
                "type": "string",
                "format": "uuid",
                "description": "New offramp account ID. Same validation as on create."
              }
            },
            "required": [
              "accountId"
            ]
          }
        }
      },
      "OrchestrationAddressObject": {
        "type": "object",
        "description": "An orchestration address record.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique orchestration address ID."
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "description": "ID of the user that owns this orchestration address."
          },
          "address": {
            "type": "string",
            "nullable": true,
            "description": "The on-chain wallet address that accepts deposits. `null` while\n`status=PENDING_WALLET` (provisioning in flight); populated once the\nwallet exists.\n",
            "example": "0xAbC0123456789AbCdEf0123456789AbCdEf01234"
          },
          "source": {
            "type": "object",
            "description": "Source token + chain the address accepts.",
            "properties": {
              "currency": {
                "type": "string",
                "enum": [
                  "usdc",
                  "usdt"
                ]
              },
              "chain": {
                "type": "string",
                "description": "Abbreviated chain name (e.g. `BASE`, `ETHEREUM`, `SOLANA`) — the same\nform accepted on create and used across the v2 API.\n",
                "example": "BASE"
              }
            }
          },
          "destination": {
            "type": "object",
            "description": "Destination payout configuration.",
            "properties": {
              "currency": {
                "type": "string",
                "enum": [
                  "usd"
                ]
              },
              "accountId": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          "offrampMessage": {
            "type": "string",
            "nullable": true,
            "description": "Optional payment message, preserved exactly. Wire allows at most four lines of\n35 characters; ACH allows 10 characters; SWIFT allows 12. Only printable ASCII\nand newlines are accepted; backslashes and other control characters are rejected.\nNonempty messages are unsupported for RTP and other rails. Missing, null, or\nempty means no message on create; on update omission preserves the setting and\nnull or empty clears it. A destination change revalidates the saved or supplied\nmessage. Returns null when unset. Queued batches read current settings when\ninitializing an offramp; initialized offramps retain their saved message on retry.\n",
            "example": "Invoice 42"
          },
          "mode": {
            "$ref": "#/components/schemas/OrchestrationAddressModeEnum"
          },
          "schedule": {
            "description": "Populated only when `mode=SCHEDULED`; `null` otherwise.\n",
            "nullable": true,
            "type": "object",
            "properties": {
              "interval": {
                "$ref": "#/components/schemas/OrchestrationScheduleIntervalEnum"
              },
              "nextRunAt": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 timestamp of the next scheduled batch."
              }
            }
          },
          "thresholdAmount": {
            "type": "string",
            "nullable": true,
            "description": "Populated only when `mode=THRESHOLD`; `null` otherwise. Decimal amount\nin the source `currency`.\n",
            "example": "100.00"
          },
          "status": {
            "$ref": "#/components/schemas/OrchestrationAddressStatusEnum"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "deactivatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "ISO 8601 timestamp when the address was deactivated. `null` if still active."
          },
          "balance": {
            "type": "object",
            "nullable": true,
            "description": "The escrow wallet's live on-chain balance of the source token. Present\nONLY on the single-address GET (`GET /orchestration-addresses/{id}`); the\nlist endpoint omits it to avoid a provider call per row. `null` if the\nwallet isn't provisioned yet or the balance lookup failed — the GET still\nreturns `200`.\n",
            "properties": {
              "currency": {
                "type": "string",
                "enum": [
                  "usdc",
                  "usdt"
                ]
              },
              "amount": {
                "type": "string",
                "description": "Decimal balance in the source `currency` (e.g. `\"100.500000\"`)."
              }
            },
            "example": {
              "currency": "usdc",
              "amount": "100.500000"
            }
          }
        }
      },
      "OrchestrationAddressAllRecordsObject": {
        "type": "object",
        "description": "Paginated list of orchestration addresses.",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of records returned in this page."
          },
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrchestrationAddressObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Pass this value as `createdBefore` to retrieve the next page. `null` means no next page is advertised."
          }
        }
      },
      "OrchestrationDepositObject": {
        "type": "object",
        "description": "A single on-chain deposit detected for an orchestration address.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Deterministic UUID derived from `(providerReferenceId, escrowWalletId)`. Stable across webhook re-deliveries."
          },
          "orchestrationAddressId": {
            "type": "string",
            "format": "uuid"
          },
          "batchId": {
            "type": "string",
            "format": "uuid",
            "nullable": true,
            "description": "ID of the batch that included this deposit. `null` while `status=PENDING` or `status=IGNORED`."
          },
          "amount": {
            "type": "string",
            "description": "Decimal amount of the source token deposited (e.g. `\"100.500000\"`).\nPrecision matches the token's on-chain decimals.\n"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt"
            ]
          },
          "chain": {
            "type": "string",
            "description": "Abbreviated chain name (e.g. `BASE`)."
          },
          "sourceAddress": {
            "type": "string",
            "description": "On-chain address that sent the deposit. Informational only."
          },
          "transactionHash": {
            "type": "string",
            "description": "On-chain transaction hash."
          },
          "status": {
            "$ref": "#/components/schemas/OrchestrationDepositStatusEnum"
          },
          "ignoredReason": {
            "$ref": "#/components/schemas/OrchestrationDepositIgnoredReasonEnum",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "OrchestrationDepositAllRecordsObject": {
        "type": "object",
        "description": "Paginated list of deposits for an orchestration address.",
        "properties": {
          "count": {
            "type": "integer"
          },
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrchestrationDepositObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Pass this value as `createdBefore` to retrieve the next page. `null` means no next page is advertised."
          }
        }
      },
      "OrchestrationBatchObject": {
        "type": "object",
        "description": "A batch of one or more deposits rolled up into a single offramp transaction.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "orchestrationAddressId": {
            "type": "string",
            "format": "uuid"
          },
          "totalAmount": {
            "type": "string",
            "description": "Sum of the included deposits' amounts, in the source `currency`.",
            "example": "150.000000"
          },
          "currency": {
            "type": "string",
            "enum": [
              "usdc",
              "usdt"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/OrchestrationBatchStatusEnum"
          },
          "failureReason": {
            "$ref": "#/components/schemas/OrchestrationBatchFailureReasonEnum",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "depositIds": {
            "type": "array",
            "description": "IDs of all deposits included in this batch.",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "offrampTransactionId": {
            "type": "string",
            "format": "uuid",
            "nullable": true,
            "description": "ID of the offramp transaction produced from this batch. `null` while\n`status=PENDING` (the worker has not yet created the offramp). Call\n`GET /v2/offramps/{transferId}` for full offramp details.\n"
          }
        }
      },
      "OrchestrationBatchAllRecordsObject": {
        "type": "object",
        "description": "Paginated list of batches for an orchestration address.",
        "properties": {
          "count": {
            "type": "integer"
          },
          "records": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrchestrationBatchObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Pass this value as `createdBefore` to retrieve the next page. `null` means no next page is advertised."
          }
        }
      },
      "OrchestrationManualTriggerTriggered": {
        "type": "object",
        "description": "Response shape when the manual trigger produced a new batch.",
        "properties": {
          "triggered": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "batch": {
            "$ref": "#/components/schemas/OrchestrationBatchObject"
          }
        },
        "required": [
          "triggered",
          "batch"
        ]
      },
      "OrchestrationManualTriggerNoOp": {
        "type": "object",
        "description": "Response shape when the manual trigger was an idempotent no-op (no PENDING\ndeposits, or the address was deactivated under the row lock).\n",
        "properties": {
          "triggered": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "reason": {
            "$ref": "#/components/schemas/OrchestrationManualTriggerReasonEnum"
          },
          "batch": {
            "type": "object",
            "nullable": true,
            "description": "Always `null` in the no-op variant.",
            "example": null
          }
        },
        "required": [
          "triggered",
          "reason",
          "batch"
        ]
      },
      "OrchestrationManualTriggerObject": {
        "description": "Result of a manual `POST /orchestrate` call. Either a freshly-created batch\n(`triggered: true`) or an idempotent no-op (`triggered: false`).\n",
        "oneOf": [
          {
            "$ref": "#/components/schemas/OrchestrationManualTriggerTriggered"
          },
          {
            "$ref": "#/components/schemas/OrchestrationManualTriggerNoOp"
          }
        ]
      },
      "MetricCalculationResponse": {
        "type": "object",
        "description": "Response from metric calculation endpoints. The structure of `data` array items\nvaries based on the `breakdowns` parameter in the request.\n\n**Base structure (no breakdowns):**\n- Each item has: `periodStart`, plus metric-specific fields (e.g., `grossVolume`, `transactionCount`)\n\n**With breakdowns:**\n- Each item includes breakdown dimension fields (e.g., `transactionType`, `transactionStatus`, `userId`)\n- Field names match the breakdown dimension names from the request\n\n**Example without breakdowns:**\n```json\n{\n  \"status\": \"success\",\n  \"data\": [\n    { \"periodStart\": \"2025-01-01T00:00:00Z\", \"grossVolume\": 1000.50 },\n    { \"periodStart\": \"2025-01-02T00:00:00Z\", \"grossVolume\": 2000.75 }\n  ],\n  \"metadata\": { ... }\n}\n```\n\n**Example with breakdowns: [\"transactionType\"]:**\n```json\n{\n  \"status\": \"success\",\n  \"data\": [\n    { \"periodStart\": \"2025-01-01T00:00:00Z\", \"transactionType\": \"onramp\", \"grossVolume\": 500.25 },\n    { \"periodStart\": \"2025-01-01T00:00:00Z\", \"transactionType\": \"offramp\", \"grossVolume\": 500.25 }\n  ],\n  \"metadata\": { ... }\n}\n```\n",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "success"
            ],
            "description": "Response status"
          },
          "data": {
            "type": "array",
            "description": "Array of metric calculation results. Each object structure depends on:\n1. The metric template (determines metric value fields)\n2. The breakdowns parameter (adds dimension fields)\n",
            "items": {
              "type": "object",
              "description": "Metric result row. Contains:\n- `periodStart` (always present): ISO 8601 timestamp\n- Metric-specific fields (e.g., `grossVolume`, `transactionCount`, `newUserCount`)\n- Breakdown dimension fields (if breakdowns specified): field names match breakdown dimension names\n\nAdditional properties may be present based on:\n- Metric template (adds template-specific value fields)\n- Breakdown dimensions (adds dimension fields matching breakdown names)\n",
              "properties": {
                "periodStart": {
                  "type": "string",
                  "format": "date-time",
                  "description": "Start of the calculation period"
                },
                "grossVolume": {
                  "type": "number",
                  "description": "Gross volume amount (for GROSS_VOLUME template)"
                },
                "grossVolumeUsd": {
                  "type": "number",
                  "description": "Gross volume in USD (for GROSS_VOLUME template)"
                },
                "transactionCount": {
                  "type": "number",
                  "description": "Number of transactions (for TRANSACTION_COUNT template)"
                },
                "newUserCount": {
                  "type": "number",
                  "description": "Number of new users (for NEW_USERS template)"
                },
                "transactionType": {
                  "type": "string",
                  "enum": [
                    "onramp",
                    "offramp",
                    "transfer"
                  ],
                  "description": "Transaction type (present if \"transactionType\" in breakdowns)"
                },
                "transactionStatus": {
                  "type": "string",
                  "enum": [
                    "AWAITING_FUNDS",
                    "COMPLETED",
                    "CRYPTO_FAILED",
                    "CRYPTO_INITIATED",
                    "CRYPTO_PENDING",
                    "FAILED",
                    "FIAT_FAILED",
                    "FIAT_INITIATED",
                    "FIAT_PENDING",
                    "FIAT_PROCESSED",
                    "FIAT_RETURNED",
                    "INITIATED",
                    "NOT_INITIATED",
                    "PENDING",
                    "QUOTE_FAILED",
                    "REJECTED"
                  ],
                  "description": "Transaction status (present if \"transactionStatus\" in breakdowns)"
                },
                "userId": {
                  "type": "string",
                  "format": "uuid",
                  "description": "User ID (present if \"userId\" in breakdowns)"
                }
              },
              "additionalProperties": true
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/MetricCalculationMetadata"
          }
        }
      },
      "MetricCalculationMetadata": {
        "type": "object",
        "description": "Metadata about the metric calculation",
        "properties": {
          "template": {
            "type": "string",
            "enum": [
              "GROSS_VOLUME",
              "TRANSACTION_COUNT",
              "NEW_USERS"
            ],
            "description": "The metric template used"
          },
          "recordCount": {
            "type": "integer",
            "description": "Actual number of records returned"
          },
          "projectedRowCount": {
            "type": "integer",
            "nullable": true,
            "description": "Projected total row count (null if no breakdowns)"
          },
          "filledCount": {
            "type": "integer",
            "description": "Number of time periods filled with zero values"
          },
          "calculationInterval": {
            "type": "string",
            "enum": [
              "day",
              "week",
              "month"
            ],
            "description": "The calculation interval used"
          },
          "dateRange": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string",
                "format": "date",
                "description": "Start date (ISO 8601)"
              },
              "end": {
                "type": "string",
                "format": "date",
                "description": "End date (ISO 8601)"
              }
            }
          },
          "filters": {
            "type": "object",
            "description": "Information about filters that were applied",
            "additionalProperties": true
          },
          "breakdowns": {
            "type": "object",
            "nullable": true,
            "description": "Breakdown metadata (null if no breakdowns specified)",
            "properties": {
              "dimensions": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "transactionType",
                    "transactionStatus",
                    "userId"
                  ]
                },
                "description": "List of breakdown dimensions used"
              },
              "dimensionCounts": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer"
                },
                "description": "Count of unique values per breakdown dimension.\nKeys match breakdown dimension names.\n"
              }
            }
          },
          "metric": {
            "type": "string",
            "nullable": true,
            "description": "Metric name (only present for saved metrics, not previews)"
          }
        }
      },
      "Metric": {
        "type": "object",
        "description": "A saved metric definition",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique metric identifier"
          },
          "profileId": {
            "type": "string",
            "format": "uuid",
            "description": "Profile ID that owns this metric"
          },
          "template": {
            "type": "string",
            "enum": [
              "GROSS_VOLUME",
              "TRANSACTION_COUNT",
              "NEW_USERS"
            ],
            "description": "Metric template name"
          },
          "name": {
            "type": "string",
            "description": "User-defined metric name"
          },
          "params": {
            "$ref": "#/components/schemas/MetricParams"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "Optional description for the metric"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Creation timestamp"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Last update timestamp"
          }
        },
        "required": [
          "id",
          "profileId",
          "template",
          "name",
          "params",
          "createdAt",
          "updatedAt"
        ]
      },
      "MetricParams": {
        "type": "object",
        "description": "Metric parameters. Structure varies by template, but common fields include:\n- Date range filters\n- Calculation interval\n- Breakdown dimensions\n- Template-specific filters\n\nAdditional properties may be present based on the metric template.\nEach template may define template-specific parameters.\n",
        "properties": {
          "createdAfter": {
            "type": "string",
            "format": "date",
            "description": "Filter transactions created after this date (ISO 8601)"
          },
          "createdBefore": {
            "type": "string",
            "format": "date",
            "description": "Filter transactions created before this date (ISO 8601)"
          },
          "calculationInterval": {
            "type": "string",
            "enum": [
              "day",
              "week",
              "month"
            ],
            "description": "Time interval for aggregation"
          },
          "userIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Filter by specific user IDs"
          },
          "transactionTypes": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "onramp",
                "offramp",
                "transfer"
              ]
            },
            "description": "Filter by transaction types"
          },
          "transactionStatuses": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "AWAITING_FUNDS",
                "COMPLETED",
                "CRYPTO_FAILED",
                "CRYPTO_INITIATED",
                "CRYPTO_PENDING",
                "FAILED",
                "FIAT_FAILED",
                "FIAT_INITIATED",
                "FIAT_PENDING",
                "FIAT_PROCESSED",
                "FIAT_RETURNED",
                "INITIATED",
                "NOT_INITIATED",
                "PENDING",
                "QUOTE_FAILED",
                "REJECTED"
              ]
            },
            "description": "Filter by transaction statuses"
          },
          "breakdowns": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "transactionType",
                "transactionStatus",
                "userId"
              ]
            },
            "maxItems": 2,
            "description": "Dimensions to group results by. Maximum 2 breakdowns allowed.\nField names in response data will match these dimension names.\n"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "default": 500,
            "description": "Maximum number of records to return"
          }
        },
        "additionalProperties": true
      },
      "CreateMetricRequest": {
        "type": "object",
        "description": "Request to create a new saved metric",
        "properties": {
          "template": {
            "type": "string",
            "enum": [
              "GROSS_VOLUME",
              "TRANSACTION_COUNT",
              "NEW_USERS"
            ],
            "description": "Metric template name"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "User-defined metric name"
          },
          "params": {
            "$ref": "#/components/schemas/MetricParams"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 500,
            "description": "Optional description for the metric"
          }
        },
        "required": [
          "template",
          "name",
          "params"
        ]
      },
      "UpdateMetricRequest": {
        "type": "object",
        "description": "Request to update an existing metric",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Updated metric name"
          },
          "params": {
            "$ref": "#/components/schemas/MetricParams",
            "description": "Updated metric parameters"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "maxLength": 500,
            "description": "Updated metric description (can be set to null to clear)"
          }
        }
      },
      "PreviewMetricRequest": {
        "type": "object",
        "description": "Request to preview a metric calculation without saving",
        "properties": {
          "template": {
            "type": "string",
            "enum": [
              "GROSS_VOLUME",
              "TRANSACTION_COUNT",
              "NEW_USERS"
            ],
            "description": "Metric template name"
          },
          "params": {
            "$ref": "#/components/schemas/MetricParams"
          }
        },
        "required": [
          "template",
          "params"
        ]
      },
      "MetricTemplate": {
        "type": "object",
        "description": "A metric template definition",
        "properties": {
          "name": {
            "type": "string",
            "description": "Template identifier"
          },
          "displayName": {
            "type": "string",
            "description": "Human-readable template name"
          },
          "description": {
            "type": "string",
            "description": "Template description"
          },
          "supportedParams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetricParamDefinition"
            },
            "description": "Available parameters for this template"
          },
          "rules": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Cross-field validation rules"
          },
          "breakdownOptions": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "description": "Available breakdown dimensions for this template (null if no breakdowns supported)"
          }
        }
      },
      "MetricParamDefinition": {
        "type": "object",
        "description": "Definition of a metric parameter",
        "properties": {
          "name": {
            "type": "string",
            "description": "Parameter name"
          },
          "type": {
            "type": "string",
            "enum": [
              "date",
              "string",
              "array",
              "enum",
              "integer"
            ],
            "description": "Parameter data type"
          },
          "required": {
            "type": "boolean",
            "description": "Whether this parameter is required"
          },
          "description": {
            "type": "string",
            "description": "Parameter description"
          },
          "options": {
            "type": "array",
            "description": "Available options (for enum/array types)",
            "items": {
              "type": "string"
            }
          },
          "constraints": {
            "type": "object",
            "description": "Validation constraints (e.g., min, max, maxItems)"
          }
        }
      },
      "ParamOptionsResponse": {
        "type": "object",
        "description": "Paginated list of parameter options",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "success"
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "Option value and label",
              "properties": {
                "value": {
                  "description": "Option value (type varies by parameter)"
                },
                "label": {
                  "type": "string",
                  "description": "Human-readable option label"
                }
              }
            }
          },
          "metadata": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "Total number of options"
              },
              "page": {
                "type": "integer",
                "description": "Current page number"
              },
              "limit": {
                "type": "integer",
                "description": "Items per page"
              },
              "totalPages": {
                "type": "integer",
                "description": "Total number of pages"
              }
            }
          }
        }
      },
      "MetricResponse": {
        "type": "object",
        "description": "Single metric response",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "success"
            ]
          },
          "data": {
            "$ref": "#/components/schemas/Metric"
          },
          "metadata": {
            "type": "object"
          }
        }
      },
      "MetricListResponse": {
        "type": "object",
        "description": "List of metrics response",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "success"
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Metric"
            }
          },
          "metadata": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer"
              },
              "profileId": {
                "type": "string",
                "format": "uuid"
              }
            }
          }
        }
      },
      "TemplateResponse": {
        "type": "object",
        "description": "Single template response",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "success"
            ]
          },
          "data": {
            "$ref": "#/components/schemas/MetricTemplate"
          },
          "metadata": {
            "type": "object"
          }
        }
      },
      "TemplateListResponse": {
        "type": "object",
        "description": "List of templates response",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "success"
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetricTemplate"
            }
          },
          "metadata": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer"
              }
            }
          }
        }
      },
      "RfiKind": {
        "type": "string",
        "description": "What the request is attached to. `onboarding` asks about the user's own KYC/KYB; `transaction` asks about a single transfer, which stays held until the request is resolved.",
        "enum": [
          "onboarding",
          "transaction"
        ],
        "example": "onboarding"
      },
      "RfiStatus": {
        "type": "string",
        "description": "Where the request is in its lifecycle. `issued` is waiting on a reply, `submitted` has been answered and is under review, `resolved` has been decided, and `expired` passed its deadline unanswered.",
        "enum": [
          "issued",
          "submitted",
          "resolved",
          "expired"
        ],
        "example": "issued"
      },
      "RfiRequestItemObject": {
        "type": "object",
        "description": "A single thing being asked for. One item may be answered by several entries in a submission, which is how three bank statements answer one request.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Request item ID. Quote it as `requestItemId` when submitting a reply.",
            "example": "3f7c1e90-2a4b-4d61-9c0e-5b8f2d6a1e34"
          },
          "kind": {
            "type": "string",
            "description": "`document` expects a file, or written text explaining why the file cannot be provided. `question` expects written text only.",
            "enum": [
              "document",
              "question"
            ],
            "example": "document"
          },
          "label": {
            "type": "string",
            "description": "What is being asked for, in the reviewer's own words.",
            "example": "Proof of address issued in the last 3 months"
          },
          "docType": {
            "type": "string",
            "nullable": true,
            "description": "Hint for the kind of document expected. Null when the request does not correspond to a standard document type. Not a closed set, so treat an unrecognised value as an untyped document request. Values currently in use are `proof_of_address`, `source_of_funds`, `bank_statement`, `government_id`, `selfie`, `incorporation_docs`, `ownership_structure`, `invoice` and `contract`.",
            "example": "proof_of_address"
          },
          "detail": {
            "type": "string",
            "nullable": true,
            "description": "Additional guidance for this item.",
            "example": "A utility bill or bank statement dated within the last three months."
          },
          "required": {
            "type": "boolean",
            "description": "Whether this item must be answered for the submission to be accepted.",
            "example": true
          }
        }
      },
      "RfiRoundObject": {
        "type": "object",
        "description": "The current attempt at the request. Each time compliance asks again a new round is opened with its own items and deadline, and earlier rounds are retained but not returned here.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Round ID.",
            "example": "b81d4f2c-6e35-4a90-9f27-0c3e5a71d8b6"
          },
          "round": {
            "type": "integer",
            "description": "Attempt number, starting at 1.",
            "example": 1
          },
          "issuedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When this round was issued and emailed to your compliance contact.",
            "example": "2026-07-01T10:30:00.000Z"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Deadline for replying. A submission after this time is rejected.",
            "example": "2026-07-31T10:30:00.000Z"
          },
          "submittedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When this round was answered. Null while it is still awaiting a reply.",
            "example": null
          },
          "items": {
            "type": "array",
            "description": "What this round asks for, in the order it should be presented.",
            "items": {
              "$ref": "#/components/schemas/RfiRequestItemObject"
            }
          },
          "link": {
            "type": "string",
            "nullable": true,
            "description": "Hosted page where you can answer the request without calling this API. The same link is emailed to your compliance contact when the request is issued. Null once the link can no longer be used, which is after a submission, after compliance asks again, or once the request is closed.",
            "example": "https://dashboard.hifi.com/production/rfi-link/rfir_2mNpXwZ7bV1aLcs3Kf9dQ#sessionToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
          }
        }
      },
      "RfiObject": {
        "type": "object",
        "description": "A request for information raised by compliance against a user or one of their transfers.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Request ID.",
            "example": "7c9e1a34-5b02-4d68-91af-3e6d2b8c4075"
          },
          "kind": {
            "$ref": "#/components/schemas/RfiKind"
          },
          "status": {
            "$ref": "#/components/schemas/RfiStatus"
          },
          "subjectType": {
            "type": "string",
            "description": "Whether the user the request concerns is an individual or a business.",
            "enum": [
              "individual",
              "business"
            ],
            "example": "individual"
          },
          "userId": {
            "type": "string",
            "format": "uuid",
            "nullable": true,
            "description": "ID of the user the request concerns.",
            "example": "2d5b7e18-9c40-4a63-b8f1-7e0a4c9d2536"
          },
          "transferId": {
            "type": "string",
            "format": "uuid",
            "nullable": true,
            "description": "ID of the held transfer, on a `transaction` request. Null on an `onboarding` request.",
            "example": null
          },
          "flowType": {
            "type": "string",
            "nullable": true,
            "description": "Which transfer `transferId` refers to. Null on an `onboarding` request.",
            "enum": [
              "onramp",
              "offramp"
            ],
            "example": null
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the request was raised.",
            "example": "2026-07-01T10:30:00.000Z"
          },
          "currentRound": {
            "type": "integer",
            "nullable": true,
            "description": "Attempt number of the round in `round`.",
            "example": 1
          },
          "round": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RfiRoundObject"
              }
            ],
            "nullable": true,
            "description": "The current round. Null if the request has no round open."
          }
        }
      },
      "RfiPagination": {
        "type": "object",
        "description": "Offset-based pagination.",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Page size used for this response.",
            "example": 20
          },
          "offset": {
            "type": "integer",
            "description": "Number of records skipped.",
            "example": 0
          },
          "total": {
            "type": "integer",
            "description": "Total number of records matching the filters.",
            "example": 3
          }
        },
        "required": [
          "limit",
          "offset",
          "total"
        ]
      },
      "RfiListObject": {
        "type": "object",
        "description": "Paginated list of requests for information, newest first.",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RfiObject"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/RfiPagination"
          }
        }
      },
      "RfiSubmissionItem": {
        "type": "object",
        "description": "One reply to one request item. Exactly one of `fileId` and `answerText` must be provided.",
        "required": [
          "requestItemId"
        ],
        "properties": {
          "requestItemId": {
            "type": "string",
            "format": "uuid",
            "description": "The `id` of the request item being answered.",
            "example": "3f7c1e90-2a4b-4d61-9c0e-5b8f2d6a1e34"
          },
          "fileId": {
            "type": "string",
            "nullable": true,
            "description": "ID of a file previously uploaded through the files API (prefixed with `file_`). Only valid against a `document` request item, and only for a file uploaded under the same client.",
            "example": "file_7bV1aLcs3Kf9dQ2mNpXwZ"
          },
          "answerText": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10000,
            "nullable": true,
            "description": "Written reply. Required for a `question` request item, and accepted for a `document` request item as an explanation in place of the file.",
            "example": "The property is leased by the user's employer; the attached letter confirms the address."
          }
        }
      },
      "RfiSubmissionBody": {
        "type": "object",
        "description": "The replies making up one submission.",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "minItems": 1,
            "maxItems": 200,
            "description": "One entry per reply.",
            "items": {
              "$ref": "#/components/schemas/RfiSubmissionItem"
            }
          }
        }
      },
      "RfiSubmissionResult": {
        "type": "object",
        "description": "Confirmation that a submission was recorded.",
        "properties": {
          "rfiId": {
            "type": "string",
            "format": "uuid",
            "description": "ID of the request that was answered.",
            "example": "7c9e1a34-5b02-4d68-91af-3e6d2b8c4075"
          },
          "roundId": {
            "type": "string",
            "format": "uuid",
            "description": "ID of the round that was answered.",
            "example": "b81d4f2c-6e35-4a90-9f27-0c3e5a71d8b6"
          },
          "round": {
            "type": "integer",
            "description": "Attempt number that was answered.",
            "example": 1
          },
          "status": {
            "type": "string",
            "description": "Status of the request after the submission.",
            "enum": [
              "submitted"
            ],
            "example": "submitted"
          },
          "submittedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the submission was recorded.",
            "example": "2026-07-03T09:12:44.000Z"
          },
          "responseCount": {
            "type": "integer",
            "description": "Number of replies recorded, which may exceed the number of request items answered.",
            "example": 5
          }
        }
      },
      "RfiError": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Machine-readable error type.",
            "example": "VALIDATION_ERROR"
          },
          "message": {
            "type": "string",
            "description": "Human-readable error message.",
            "example": "One or more fields are invalid or missing."
          },
          "fields": {
            "type": "array",
            "description": "Present on field-level validation errors. One entry per problem field.",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Error code related to the field issue."
                },
                "message": {
                  "type": "string",
                  "description": "Error message for the specific issue."
                },
                "field": {
                  "type": "string",
                  "description": "The name of the field that has an issue."
                }
              }
            }
          }
        }
      },
      "ApproveTransferRequest": {
        "type": "object",
        "description": "Request body for approving a transfer",
        "properties": {
          "comment": {
            "type": "string",
            "maxLength": 1000,
            "description": "Optional comment explaining the approval decision",
            "example": "Approved after reviewing transaction details"
          }
        }
      },
      "ApproveTransferResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Whether the operation was successful"
          },
          "message": {
            "type": "string",
            "example": "Transfer approved and initiated successfully",
            "description": "Human-readable message about the operation"
          },
          "approvalId": {
            "type": "string",
            "format": "uuid",
            "description": "ID of the approval being processed",
            "example": "approval-123-e89b-12d3-a456-426614174002"
          },
          "status": {
            "type": "string",
            "enum": [
              "APPROVED"
            ],
            "example": "APPROVED",
            "description": "Current status after approval"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "When the approval was processed",
            "example": "2024-01-15T11:00:00.000Z"
          }
        }
      },
      "RejectTransferRequest": {
        "type": "object",
        "description": "Request body for rejecting a transfer",
        "properties": {
          "reason": {
            "type": "string",
            "maxLength": 1000,
            "description": "Reason for rejecting the transfer",
            "example": "Transfer amount exceeds daily limit"
          }
        }
      },
      "RejectTransferResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Whether the operation was successful"
          },
          "message": {
            "type": "string",
            "example": "Transfer rejected successfully",
            "description": "Human-readable message about the operation"
          },
          "approvalId": {
            "type": "string",
            "format": "uuid",
            "description": "ID of the approval being processed",
            "example": "approval-123-e89b-12d3-a456-426614174002"
          },
          "status": {
            "type": "string",
            "enum": [
              "REJECTED"
            ],
            "example": "REJECTED",
            "description": "Current status after rejection"
          },
          "reason": {
            "type": "string",
            "description": "Reason for rejection",
            "example": "Transfer amount exceeds daily limit"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "When the rejection was processed",
            "example": "2024-01-15T11:00:00.000Z"
          }
        }
      },
      "GetTransferApprovalsResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Whether the operation was successful"
          },
          "message": {
            "type": "string",
            "example": "Pending approvals retrieved successfully",
            "description": "Human-readable message about the operation"
          },
          "count": {
            "type": "integer",
            "description": "Total number of pending approvals",
            "example": 2
          },
          "approvals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransferApprovalSummary"
            },
            "description": "Array of pending approval records"
          }
        }
      },
      "GetTransferApprovalResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "example": true,
            "description": "Whether the operation was successful"
          },
          "message": {
            "type": "string",
            "example": "Approval details retrieved successfully",
            "description": "Human-readable message about the operation"
          },
          "approval": {
            "$ref": "#/components/schemas/TransferApprovalDetail"
          }
        }
      },
      "TransferApprovalSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "approval-123-e89b-12d3-a456-426614174002"
          },
          "transferId": {
            "type": "string",
            "format": "uuid",
            "example": "transfer-456-e89b-12d3-a456-426614174003"
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "APPROVED",
              "REJECTED",
              "EXPIRED"
            ],
            "example": "PENDING",
            "description": "Current status of the approval process"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-01-15T10:30:00.000Z"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-01-15T11:00:00.000Z",
            "description": "When the approval was last updated"
          },
          "transferType": {
            "type": "string",
            "enum": [
              "WALLET.TRANSFER",
              "WALLET.TRANSFER.BATCH",
              "WALLET.BRIDGE"
            ],
            "example": "WALLET.TRANSFER",
            "description": "Type of transfer requiring approval"
          }
        }
      },
      "TransferApprovalDetail": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "approval-123-e89b-12d3-a456-426614174002"
          },
          "transferId": {
            "type": "string",
            "format": "uuid",
            "example": "transfer-456-e89b-12d3-a456-426614174003"
          },
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "APPROVED",
              "REJECTED",
              "EXPIRED"
            ],
            "example": "PENDING",
            "description": "Current status of the approval process"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-01-15T10:30:00.000Z"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-01-15T11:00:00.000Z",
            "description": "When the approval was last updated"
          },
          "transferType": {
            "type": "string",
            "enum": [
              "WALLET.TRANSFER",
              "WALLET.TRANSFER.BATCH",
              "WALLET.BRIDGE"
            ],
            "example": "WALLET.TRANSFER",
            "description": "Type of transfer requiring approval"
          },
          "votes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApprovalVote"
            },
            "description": "Array of votes cast on this approval"
          }
        }
      },
      "ApprovalVote": {
        "type": "object",
        "properties": {
          "approverId": {
            "type": "string",
            "format": "uuid",
            "example": "profile-789-e89b-12d3-a456-426614174006",
            "description": "ID of the approver who cast the vote"
          },
          "vote": {
            "type": "string",
            "enum": [
              "APPROVE",
              "REJECT"
            ],
            "example": "APPROVE",
            "description": "The vote cast by the approver"
          },
          "comment": {
            "type": "string",
            "nullable": true,
            "example": "Approved after reviewing transaction details",
            "description": "Optional comment explaining the vote decision"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-01-15T11:00:00.000Z",
            "description": "When the vote was cast"
          }
        }
      },
      "ToSLink": {
        "type": "object",
        "properties": {
          "idempotencyKey": {
            "type": "string",
            "description": "Unique identifier for the resource",
            "format": "uuid"
          },
          "templateId": {
            "type": "string",
            "description": "Id of the custom terms of service template generated in the HIFI developer dashboard. If not passed, the page will use HIFI's default template."
          },
          "redirectUrl": {
            "type": "string",
            "description": "Url to redirect after accepting the terms of service link. The signedAgreementId is the same as the passed idempotencyKey, you may attempt to call the POST /user/create endpoint, but if the user did not accept the TOS, the user creation will return an error."
          }
        },
        "required": [
          "idempotencyKey"
        ]
      },
      "ToSLinkObject": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "signedAgreementId": {
            "type": "string"
          }
        }
      },
      "ToSLinkRecordStatusObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "signed agreement id"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the ToS link was created"
          },
          "expiredAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the ToS link will expire"
          },
          "signed": {
            "type": "boolean",
            "description": "Whether the ToS has been signed"
          },
          "sessionToken": {
            "type": "string",
            "format": "string",
            "description": "Session token for the ToS signing session"
          }
        }
      },
      "WalletBalanceObject": {
        "type": "object",
        "properties": {
          "balance": {
            "type": "string",
            "description": "The raw balance of the wallet expressed in the smallest denomination of the token. This format is ideal for backend calculations, automation processes, or when precise, unrounded figures are necessary for smart contract interactions. For example, use this when calculating transaction fees or performing token transfer operations that require exact values."
          },
          "displayBalance": {
            "type": "string",
            "description": "The wallet balance formatted as a decimal string for display purposes, adjusted according to the token's decimal places to facilitate human readability. This format is best used in user interfaces where balances are displayed to end-users, such as in wallet apps or dashboards, where readability and familiarity are crucial. For instance, displaying an account balance on a user's home screen or summary page."
          },
          "tokenInfo": {
            "type": "object",
            "description": "Detailed information about the token.",
            "properties": {
              "tokenAddress": {
                "type": "string",
                "description": "Blockchain generated unique identifier, associated with wallet (account), smart contract or other blockchain objects."
              },
              "standard": {
                "type": "string",
                "enum": [
                  "ERC20",
                  "ERC721",
                  "ERC1155"
                ]
              },
              "name": {
                "type": "string",
                "description": "Blockchain name of the specified token."
              },
              "symbol": {
                "type": "string",
                "description": "Blockchain symbol of the specified token."
              },
              "decimals": {
                "type": "integer",
                "description": "Number of decimal places shown in the token amount."
              }
            }
          }
        }
      },
      "WalletAddressObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Wallet ID"
          },
          "address": {
            "type": "string",
            "description": "Wallet address"
          }
        },
        "required": [
          "address"
        ]
      },
      "AddExternalWallets": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "The wallet address to add"
          },
          "chain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "SOLANA",
              "ETHEREUM",
              "BASE",
              "TRON"
            ],
            "description": "The blockchain network for this wallet"
          },
          "name": {
            "type": "string",
            "description": "Name for the wallet"
          },
          "referenceId": {
            "type": "string",
            "description": "A custom reference ID for the wallet"
          }
        },
        "required": [
          "address",
          "chain",
          "name",
          "referenceId"
        ]
      },
      "ExternalWalletsObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer"
          },
          "wallets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExternalWalletObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        }
      },
      "ExternalWalletObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "chain": {
            "type": "string",
            "enum": [
              "POLYGON",
              "SOLANA",
              "ETHEREUM",
              "BASE",
              "TRON"
            ]
          },
          "name": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "referenceId": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "screeningStatus": {
            "type": "string",
            "nullable": true,
            "description": "Address screening status; null when no screening status is available.",
            "enum": [
              "CLEARED",
              "FLAGGED",
              "UNDER_REVIEW",
              "NOT_SCREENED",
              null
            ],
            "example": "CLEARED"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "WalletDepositObject": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "wallet": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "address": {
                "type": "string"
              },
              "chain": {
                "type": "string",
                "enum": [
                  "POLYGON",
                  "SOLANA",
                  "ETHEREUM",
                  "BASE",
                  "TRON"
                ]
              },
              "walletType": {
                "type": "string",
                "enum": [
                  "INDIVIDUAL"
                ]
              }
            }
          },
          "transaction": {
            "type": "object",
            "properties": {
              "transactionHash": {
                "type": "string"
              },
              "chain": {
                "type": "string",
                "enum": [
                  "POLYGON",
                  "SOLANA",
                  "ETHEREUM",
                  "BASE",
                  "TRON"
                ]
              },
              "currency": {
                "type": "string"
              },
              "status": {
                "type": "string",
                "enum": [
                  "COMPLETED",
                  "CONFIRMED"
                ]
              },
              "sourceAddress": {
                "type": "string"
              },
              "destinationAddress": {
                "type": "string"
              },
              "contractAddress": {
                "type": "string"
              },
              "amount": {
                "type": "string"
              },
              "unitAmount": {
                "type": "string"
              }
            }
          }
        }
      },
      "WalletDepositsObject": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer"
          },
          "deposits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WalletDepositObject"
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        }
      },
      "UserV2AddWallets": {
        "type": "object",
        "properties": {
          "chains": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "The chains to create wallets for.",
              "enum": [
                "POLYGON",
                "SOLANA",
                "ETHEREUM",
                "BASE",
                "BSC",
                "FLOW_EVM",
                "CANTON",
                "TRON"
              ]
            }
          }
        },
        "required": [
          "chains"
        ]
      },
      "IndividualUserV2Create": {
        "type": "object",
        "title": "Create Individual User",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "Request ID for user creation. If not provided, a random UUID will be generated. Using the same requestId will result in the same user being returned.",
            "format": "uuid"
          },
          "type": {
            "type": "string",
            "enum": [
              "individual"
            ]
          },
          "chains": {
            "type": "array",
            "description": "The chains to create wallets for, default to POLYGON and ETHEREUM.\n",
            "items": {
              "type": "string",
              "enum": [
                "POLYGON",
                "ETHEREUM",
                "SOLANA",
                "BASE",
                "BSC",
                "FLOW_EVM",
                "CANTON",
                "TRON"
              ]
            }
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth in format yyyy-mm-dd.",
            "format": "date"
          },
          "address": {
            "type": "object",
            "description": "Address of the user.\n\nEither the address or the ipAddress must be provided.\n",
            "$ref": "#/components/schemas/Address"
          },
          "ipAddress": {
            "type": "string",
            "description": "IP address of the user.\n\nEither the address or the ipAddress must be provided.\n",
            "format": "ipv4"
          },
          "signedAgreementId": {
            "type": "string",
            "description": "ID of the signed agreement, fetched through the HIFI's Hosted Terms of Service Link POST /tos-link"
          }
        },
        "required": [
          "type",
          "firstName",
          "lastName",
          "email",
          "dateOfBirth",
          "signedAgreementId"
        ]
      },
      "BusinessUserV2Create": {
        "type": "object",
        "title": "Create Business User",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "Request ID for user creation. If not provided, a random UUID will be generated. Using the same requestId will result in the same user being returned.",
            "format": "uuid"
          },
          "type": {
            "type": "string",
            "enum": [
              "business"
            ]
          },
          "businessName": {
            "type": "string"
          },
          "chains": {
            "type": "array",
            "description": "The chains to create wallets for, default to POLYGON and ETHEREUM.\n",
            "items": {
              "type": "string",
              "enum": [
                "POLYGON",
                "ETHEREUM",
                "SOLANA",
                "BASE",
                "BSC",
                "FLOW_EVM",
                "CANTON",
                "TRON"
              ]
            }
          },
          "email": {
            "type": "string"
          },
          "address": {
            "type": "object",
            "description": "Address of the user.\n\nEither the address or the ipAddress must be provided.\n",
            "$ref": "#/components/schemas/Address"
          },
          "ipAddress": {
            "type": "string",
            "description": "IP address of the user.\n\nEither the address or the ipAddress must be provided.\n",
            "format": "ipv4"
          },
          "ultimateBeneficialOwners": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UltimateBeneficialOwnerV2"
            }
          },
          "signedAgreementId": {
            "type": "string",
            "description": "ID of the signed agreement, fetched through the HIFI's Hosted Terms of Service Link POST /tos-link"
          }
        },
        "required": [
          "type",
          "businessName",
          "email",
          "ultimateBeneficialOwners",
          "signedAgreementId"
        ]
      },
      "UltimateBeneficialOwnerV2": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth in format yyyy-mm-dd.",
            "format": "date"
          },
          "hasControl": {
            "type": "boolean",
            "description": "True if the person has a significant responsibility to control, manage, or direct the activities of the business. At least one of the ultimateBeneficialOwners needs to have this set to true."
          },
          "isSigner": {
            "type": "boolean",
            "description": "True if the person can authorize transactions on behalf of the business. At least one of the ultimateBeneficialOwners needs to have this set to true."
          },
          "businessTitle": {
            "type": "string",
            "description": "Agent or authorised person's job title."
          }
        },
        "required": [
          "firstName",
          "lastName",
          "dateOfBirth",
          "hasControl",
          "isSigner",
          "businessTitle"
        ]
      },
      "IndividualUserV2Update": {
        "type": "object",
        "title": "Update Individual User",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "individual"
            ]
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth in format yyyy-mm-dd.",
            "format": "date"
          },
          "address": {
            "type": "object",
            "description": "Address of the user.",
            "$ref": "#/components/schemas/Address"
          },
          "ipAddress": {
            "type": "string",
            "description": "IP address of the user."
          },
          "signedAgreementId": {
            "type": "string",
            "description": "ID of the signed agreement, fetched through the HIFI's Hosted Terms of Service Link POST /tos-link"
          }
        }
      },
      "BusinessUserV2Update": {
        "type": "object",
        "title": "Update Business User",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "business"
            ]
          },
          "businessName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "address": {
            "type": "object",
            "description": "Address of the user.",
            "$ref": "#/components/schemas/Address"
          },
          "ipAddress": {
            "type": "string",
            "description": "IP address of the user."
          },
          "ultimateBeneficialOwners": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UltimateBeneficialOwnerV2"
            }
          },
          "signedAgreementId": {
            "type": "string",
            "description": "ID of the signed agreement, fetched through the HIFI's Hosted Terms of Service Link POST /tos-link"
          }
        }
      },
      "IndividualUserV2Object": {
        "type": "object",
        "title": "User Object (Individual)",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "User ID"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Data and time when the user was created"
          },
          "type": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "wallets": {
            "type": "object",
            "properties": {
              "INDIVIDUAL": {
                "type": "object",
                "properties": {
                  "ETHEREUM": {
                    "$ref": "#/components/schemas/WalletAddressObject"
                  },
                  "POLYGON": {
                    "$ref": "#/components/schemas/WalletAddressObject"
                  }
                }
              }
            }
          }
        }
      },
      "BusinessUserV2Object": {
        "type": "object",
        "title": "User Object (Business)",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "User ID"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Data and time when the user was created"
          },
          "type": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "wallets": {
            "type": "object",
            "properties": {
              "INDIVIDUAL": {
                "type": "object",
                "properties": {
                  "ETHEREUM": {
                    "$ref": "#/components/schemas/WalletAddressObject"
                  },
                  "POLYGON": {
                    "$ref": "#/components/schemas/WalletAddressObject"
                  }
                }
              }
            }
          }
        }
      },
      "AllUserV2Objects": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer"
          },
          "users": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/IndividualUserV2Object"
                },
                {
                  "$ref": "#/components/schemas/BusinessUserV2Object"
                }
              ]
            }
          },
          "nextCursor": {
            "type": "string",
            "description": "The `createdAt` timestamp of the last record in the current page. Pass this as `createdBefore` in the next request to retrieve the next page of results."
          }
        }
      }
    },
    "examples": {
      "VirtualAccountObjectCreationExample": {
        "summary": "Virtual Account Object (Creation)",
        "value": {
          "message": "Virtual account created successfully",
          "accountInfo": {
            "id": "cfbc005d-8640-57a4-89e1-539c974fa780",
            "createdAt": "2025-09-27T03:08:11.548Z",
            "updatedAt": "2025-09-27T03:08:11.548Z",
            "userId": "840c28f2-ea7d-5c3a-9271-b10fd8b6ae6d",
            "source": {
              "paymentRail": [
                "ach",
                "wire",
                "rtp"
              ],
              "currency": "usd"
            },
            "destination": {
              "chain": "POLYGON",
              "currency": "usdc",
              "walletAddress": "0xd102C4130985B7fcB95697616eaf5542c4f98d49",
              "externalWalletId": null
            },
            "status": "activated",
            "depositInstructions": {
              "bankName": "Bank of NoWhere",
              "bankAddress": "123 Main St, New York, NY 10001, USA",
              "beneficiary": {
                "name": "Henry Wu",
                "address": "Example St 1., Apt 123, New York, NY, 10010, US"
              },
              "ach": {
                "routingNumber": "028000024",
                "accountNumber": "123456789"
              },
              "wire": {
                "routingNumber": "021000021",
                "accountNumber": "123456789"
              },
              "rtp": {
                "routingNumber": "021000021",
                "accountNumber": "123456789"
              },
              "instruction": "Please deposit usd to the bank account provided. Please ensure that the beneficiary name matches the account holder name provided, or the payment may be rejected."
            },
            "settlementRuleId": null
          }
        }
      },
      "VirtualAccountObjectDeactivateExample": {
        "summary": "Virtual Account Object (Deactivation)",
        "value": {
          "message": "Virtual account deactivated",
          "accountInfo": {
            "id": "cfbc005d-8640-57a4-89e1-539c974fa780",
            "createdAt": "2025-09-27T03:08:11.548Z",
            "updatedAt": "2025-09-27T03:08:11.548Z",
            "userId": "840c28f2-ea7d-5c3a-9271-b10fd8b6ae6d",
            "source": {
              "paymentRail": [
                "ach",
                "wire",
                "rtp"
              ],
              "currency": "usd"
            },
            "destination": {
              "chain": "POLYGON",
              "currency": "usdc",
              "walletAddress": "0xd102C4130985B7fcB95697616eaf5542c4f98d49",
              "externalWalletId": null
            },
            "status": "deactivated",
            "depositInstructions": {
              "bankName": "Bank of NoWhere",
              "bankAddress": "123 Main St, New York, NY 10001, USA",
              "beneficiary": {
                "name": "Henry Wu",
                "address": "Example St 1., Apt 123, New York, NY, 10010, US"
              },
              "ach": {
                "routingNumber": "028000024",
                "accountNumber": "123456789"
              },
              "wire": {
                "routingNumber": "021000021",
                "accountNumber": "123456789"
              },
              "rtp": {
                "routingNumber": "021000021",
                "accountNumber": "123456789"
              },
              "instruction": "Please deposit usd to the bank account provided. Please ensure that the beneficiary name matches the account holder name provided, or the payment may be rejected."
            },
            "settlementRuleId": null
          }
        }
      },
      "VirtualAccountObjectExample": {
        "summary": "Virtual Account Object",
        "value": {
          "id": "cfbc005d-8640-57a4-89e1-539c974fa780",
          "createdAt": "2025-09-27T03:08:11.548Z",
          "updatedAt": "2025-09-27T03:08:11.548Z",
          "userId": "840c28f2-ea7d-5c3a-9271-b10fd8b6ae6d",
          "source": {
            "paymentRail": [
              "ach",
              "wire",
              "rtp"
            ],
            "currency": "usd"
          },
          "destination": {
            "chain": "POLYGON",
            "currency": "usdc",
            "walletAddress": "0xd102C4130985B7fcB95697616eaf5542c4f98d49",
            "externalWalletId": null
          },
          "status": "activated",
          "depositInstructions": {
            "bankName": "Bank of NoWhere",
            "bankAddress": "123 Main St, New York, NY 10001, USA",
            "beneficiary": {
              "name": "Henry Wu",
              "address": "Example St 1., Apt 123, New York, NY, 10010, US"
            },
            "ach": {
              "routingNumber": "028000024",
              "accountNumber": "123456789"
            },
            "wire": {
              "routingNumber": "021000021",
              "accountNumber": "123456789"
            },
            "rtp": {
              "routingNumber": "021000021",
              "accountNumber": "123456789"
            },
            "instruction": "Please deposit usd to the bank account provided. Please ensure that the beneficiary name matches the account holder name provided, or the payment may be rejected."
          },
          "settlementRuleId": null
        }
      },
      "VirtualAccountObjectListExample": {
        "summary": "Virtual Account Object List",
        "value": {
          "count": 1,
          "data": [
            {
              "id": "cfbc005d-8640-57a4-89e1-539c974fa780",
              "createdAt": "2025-09-27T03:08:11.548Z",
              "updatedAt": "2025-09-27T03:08:11.548Z",
              "userId": "840c28f2-ea7d-5c3a-9271-b10fd8b6ae6d",
              "source": {
                "paymentRail": [
                  "ach",
                  "wire",
                  "rtp"
                ],
                "currency": "usd"
              },
              "destination": {
                "chain": "POLYGON",
                "currency": "usdc",
                "walletAddress": "0xd102C4130985B7fcB95697616eaf5542c4f98d49",
                "externalWalletId": null
              },
              "status": "activated",
              "depositInstructions": {
                "bankName": "Bank of NoWhere",
                "bankAddress": "123 Main St, New York, NY 10001, USA",
                "beneficiary": {
                  "name": "Henry Wu",
                  "address": "Example St 1., Apt 123, New York, NY, 10010, US"
                },
                "ach": {
                  "routingNumber": "028000024",
                  "accountNumber": "123456789"
                },
                "wire": {
                  "routingNumber": "021000021",
                  "accountNumber": "123456789"
                },
                "rtp": {
                  "routingNumber": "021000021",
                  "accountNumber": "123456789"
                },
                "instruction": "Please deposit usd to the bank account provided. Please ensure that the beneficiary name matches the account holder name provided, or the payment may be rejected."
              },
              "settlementRuleId": null
            }
          ],
          "nextCursor": "2025-09-27T03:08:11.548Z"
        }
      },
      "AccountObjectCreationExample": {
        "summary": "Account Object (Creation)",
        "value": {
          "status": "ACTIVE",
          "message": "Account created successfully",
          "id": "583eb259-e78b-4f0c-a4b5-a8957876fa6f"
        }
      },
      "AccountObjectDeletionExample": {
        "summary": "Account Object (Deletion)",
        "value": {
          "status": "INACTIVE",
          "message": "Account deleted successfully",
          "id": "583eb259-e78b-4f0c-a4b5-a8957876fa6f"
        }
      },
      "AccountObjectUSExample": {
        "summary": "Account Object (US)",
        "value": {
          "id": "d748da4f-aeb1-4a9d-af30-62ae7e82b897",
          "createdAt": "2025-09-27T03:34:12.181Z",
          "updatedAt": "2025-09-27T03:34:12.181Z",
          "accountHolder": {
            "type": "individual",
            "name": "Henry Wu",
            "address": {
              "addressLine1": "Example St 1",
              "addressLine2": "Apt 123",
              "city": "New York",
              "stateProvinceRegion": "NY",
              "postalCode": "10010",
              "country": "USA"
            }
          },
          "us": {
            "accountType": "Checking",
            "accountNumber": "123456789",
            "routingNumber": "021000021",
            "iban": null,
            "swiftCode": null,
            "bankName": "Bank of NoWhere",
            "bankCountry": "USA",
            "bankAddress": {
              "addressLine1": "Example St 1",
              "addressLine2": "Apt 123",
              "city": "New York",
              "stateProvinceRegion": "NY",
              "postalCode": "10010",
              "country": "USA"
            },
            "currency": "usd"
          },
          "rail": {
            "currency": "usd",
            "railType": "offramp",
            "paymentRail": "ach"
          }
        }
      },
      "AccountObjectListUSExample": {
        "summary": "Account Object List (US)",
        "value": {
          "count": 1,
          "banks": [
            {
              "id": "d748da4f-aeb1-4a9d-af30-62ae7e82b897",
              "createdAt": "2025-09-27T03:34:12.181Z",
              "updatedAt": "2025-09-27T03:34:12.181Z",
              "accountHolder": {
                "type": "individual",
                "name": "Henry Wu",
                "address": {
                  "addressLine1": "Example St 1",
                  "addressLine2": "Apt 123",
                  "city": "New York",
                  "stateProvinceRegion": "NY",
                  "postalCode": "10010",
                  "country": "USA"
                }
              },
              "us": {
                "accountType": "Checking",
                "accountNumber": "123456789",
                "routingNumber": "021000021",
                "iban": null,
                "swiftCode": null,
                "bankName": "Bank of NoWhere",
                "bankCountry": "USA",
                "bankAddress": {
                  "addressLine1": "Example St 1",
                  "addressLine2": "Apt 123",
                  "city": "New York",
                  "stateProvinceRegion": "NY",
                  "postalCode": "10010",
                  "country": "USA"
                },
                "currency": "usd"
              },
              "rail": {
                "currency": "usd",
                "railType": "offramp",
                "paymentRail": "ach"
              }
            }
          ],
          "nextCursor": "2025-09-27T03:34:12.181Z"
        }
      },
      "SettlementRuleObjectExample": {
        "summary": "Settlement Rule Object",
        "value": {
          "id": "15c786fb-de7a-520c-a4b3-f312d4a122d2",
          "chain": "BASE",
          "includeHIFIFee": false,
          "rules": [
            {
              "type": "PERCENTAGE",
              "calculationModel": "FIXED",
              "value": 0.001,
              "tiers": null,
              "walletAddress": "0x15FB50680fEB2f726413416665c25f9B397b047b"
            },
            {
              "type": "FIXED",
              "calculationModel": "FIXED",
              "value": 0.5,
              "tiers": null,
              "walletAddress": "0x15FB50680fEB2f726413416665c25f9B397b047b"
            },
            {
              "type": "PERCENTAGE",
              "calculationModel": "TIERED",
              "value": null,
              "tiers": [
                {
                  "max": "1000",
                  "min": "",
                  "value": 0.0007
                },
                {
                  "max": "2000",
                  "min": "1000",
                  "value": 0.0005
                },
                {
                  "max": "",
                  "min": "2000",
                  "value": 0.0002
                }
              ],
              "walletAddress": "0x15FB50680fEB2f726413416665c25f9B397b047b"
            }
          ]
        }
      },
      "VirtualAccountDepositSimulationObjectExample": {
        "summary": "Virtual Account Deposit Simulation Object",
        "value": {
          "amount": "88.8",
          "paymentRail": "WIRE",
          "requestId": "550e8400-e29b-41d4-a716-446655440000",
          "source": {
            "routingNumber": "021000021",
            "accountNumber": "123456789",
            "name": "Henry Wu",
            "bankName": "Bank of NoWhere"
          },
          "userId": "840c28f2-ea7d-5c3a-9271-b10fd8b6ae6d",
          "reference": "Test deposit",
          "description": "Simulated test deposit"
        }
      },
      "KycSubmissionObjectUsdExample": {
        "summary": "KYC Submission Object (USD)",
        "value": {
          "USD": {
            "status": "CREATED",
            "message": "Your KYC application has been successfully created. We will review it shortly."
          }
        }
      },
      "KycSubmissionObjectAfricaGeneralExample": {
        "summary": "KYC Submission Object (AFRICA_GENERAL)",
        "value": {
          "AFRICA_GENERAL": {
            "status": "PENDING",
            "warnings": [],
            "message": "",
            "onRamp": {
              "kes": {
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "ghs": {
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "tzs": {
                "bank": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "ugx": {
                "bank": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "bwp": {
                "bank": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "xaf": {
                "bank": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                },
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "mwk": {
                "bank": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                },
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "rwf": {
                "bank": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "zmw": {
                "bank": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                },
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "xof": {
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              }
            },
            "offRamp": {
              "kes": {
                "bank": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                },
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "zar": {
                "bank": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "gns": {
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "tzs": {
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "ugx": {
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "bwp": {
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "xaf": {
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "mwk": {
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "rwf": {
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "zmw": {
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              },
              "xof": {
                "momo": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              }
            }
          }
        }
      },
      "KycSubmissionObjectAfricaNigeriaExample": {
        "summary": "KYC Submission Object (AFRICA_NIGERIA)",
        "value": {
          "AFRICA_NIGERIA": {
            "status": "PENDING",
            "warnings": [],
            "message": "",
            "onRamp": {
              "ngn": {
                "bank": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              }
            },
            "offRamp": {
              "ngn": {
                "bank": {
                  "status": "PENDING",
                  "warnings": [],
                  "message": ""
                }
              }
            }
          }
        }
      },
      "KycSubmissionObjectGlobalNetworkExample": {
        "summary": "KYC Submission Object (GLOBAL_NETWORK)",
        "value": {
          "GLOBAL_NETWORK": {
            "status": "ACTIVE",
            "warnings": [],
            "message": "",
            "onRamp": {},
            "offRamp": {
              "brl": {
                "pix": {
                  "status": "ACTIVE",
                  "warnings": [],
                  "message": ""
                }
              },
              "hkd": {
                "wire": {
                  "status": "ACTIVE",
                  "warnings": [],
                  "message": ""
                }
              },
              "mxn": {
                "spei": {
                  "status": "ACTIVE",
                  "warnings": [],
                  "message": ""
                }
              },
              "ngn": {
                "bank": {
                  "status": "ACTIVE",
                  "warnings": [],
                  "message": ""
                }
              }
            }
          }
        }
      },
      "KycStatusObjectUSDInactiveExample": {
        "summary": "KYC Status Object (USD - INACTIVE)",
        "value": {
          "status": "INACTIVE",
          "message": "The rail is not active."
        }
      },
      "KycStatusObjectUSDPendingIndividualExample": {
        "summary": "KYC Status Object (USD - Individual - PENDING)",
        "value": {
          "status": "PENDING",
          "message": "",
          "reviewResult": {},
          "details": {
            "identity": {
              "reviewResult": {},
              "details": [
                {
                  "id": "e423fa6b-6d05-4b21-8797-ba8c75effaa4",
                  "type": "ID_CARD",
                  "subType": "FRONT_SIDE",
                  "reviewResult": {}
                },
                {
                  "id": "c819c689-7e50-4c39-bec7-76875a078495",
                  "type": "ID_CARD",
                  "subType": "BACK_SIDE",
                  "reviewResult": {}
                }
              ]
            },
            "questionnaire": {
              "reviewResult": {}
            },
            "personalInfo": {
              "reviewResult": {}
            },
            "proofOfAddress": {
              "reviewResult": {},
              "details": [
                {
                  "id": "7bc43187-e7c2-496c-bd14-30b71cadadc3",
                  "type": "PROOF_OF_ADDRESS",
                  "subType": "SINGLE_SIDE",
                  "reviewResult": {}
                }
              ]
            }
          }
        }
      },
      "KycStatusObjectUSDIncompleteBusinessExample": {
        "summary": "KYC Status Object (USD - Business - INCOMPLETE)",
        "value": {
          "status": "INCOMPLETE",
          "message": "",
          "reviewResult": {
            "reviewAnswer": "DECLINED",
            "reviewRejectType": "RETRY",
            "rejectReasons": [
              "UNFILLED_ID"
            ],
            "comment": ""
          },
          "details": {
            "companyInfo": {
              "reviewResult": {
                "reviewAnswer": "APPROVED",
                "reviewRejectType": "",
                "rejectReasons": [],
                "comment": ""
              }
            },
            "questionnaire": {
              "reviewResult": {
                "reviewAnswer": "APPROVED",
                "reviewRejectType": "",
                "rejectReasons": [],
                "comment": ""
              }
            },
            "companyDocuments": {
              "reviewResult": {
                "reviewAnswer": "DECLINED",
                "reviewRejectType": "RETRY",
                "rejectReasons": [],
                "comment": ""
              },
              "details": [
                {
                  "id": "04f809a1-e9fc-45d6-9c1f-b308cfb19c96",
                  "type": "PROOF_OF_ADDRESS",
                  "subType": "SINGLE_SIDE",
                  "reviewResult": {
                    "reviewAnswer": "APPROVED",
                    "reviewRejectType": "",
                    "rejectReasons": [],
                    "comment": ""
                  }
                },
                {
                  "id": "b0436bee-0e80-46d3-98a2-6d58183eb84f",
                  "type": "INFORMATION_STATEMENT",
                  "subType": "SINGLE_SIDE",
                  "reviewResult": {
                    "reviewAnswer": "APPROVED",
                    "reviewRejectType": "",
                    "rejectReasons": [],
                    "comment": ""
                  }
                },
                {
                  "id": "d9f38450-ec16-4a4b-bf69-f8c88bb73a94",
                  "type": "SHAREHOLDER_REGISTRY",
                  "subType": "SINGLE_SIDE",
                  "reviewResult": {
                    "reviewAnswer": "DECLINED",
                    "reviewRejectType": "RETRY",
                    "rejectReasons": [
                      "UNFILLED_ID"
                    ],
                    "comment": "This document is not accepted.\n - The document is missing key company identification details like the registration number or company name. Please upload a document that includes this information to verify its relevance."
                  }
                },
                {
                  "id": "7a9dc485-3216-47fd-baa4-a7ab4085b723",
                  "type": "INCORPORATION_CERT",
                  "subType": "SINGLE_SIDE",
                  "reviewResult": {
                    "reviewAnswer": "APPROVED",
                    "reviewRejectType": "",
                    "rejectReasons": [],
                    "comment": ""
                  }
                }
              ]
            },
            "ultimateBeneficialOwners": {
              "reviewResult": {},
              "details": [
                {
                  "id": "74441b74-caab-5f74-8e24-3fcee83faac8",
                  "status": "INCOMPLETE",
                  "message": "",
                  "reviewResult": {
                    "reviewAnswer": "DECLINED",
                    "reviewRejectType": "RETRY",
                    "rejectReasons": [
                      "SCREENSHOTS",
                      "UNSATISFACTORY_PHOTOS"
                    ],
                    "comment": ""
                  },
                  "details": {
                    "identity": {
                      "reviewResult": {
                        "reviewAnswer": "DECLINED",
                        "reviewRejectType": "RETRY",
                        "rejectReasons": [],
                        "comment": "Screenshots aren’t accepted. Please upload a live photo of the document."
                      },
                      "details": [
                        {
                          "id": "b4534db5-b759-4a4e-ad29-8ab5a1257936",
                          "type": "PASSPORT",
                          "subType": "SINGLE_SIDE",
                          "reviewResult": {
                            "reviewAnswer": "DECLINED",
                            "reviewRejectType": "RETRY",
                            "rejectReasons": [
                              "SCREENSHOTS - UNSATISFACTORY_PHOTOS"
                            ],
                            "comment": "Screenshots aren’t accepted. Please upload a live photo of the document."
                          }
                        }
                      ]
                    },
                    "personalInfo": {
                      "reviewResult": {
                        "reviewAnswer": "APPROVED",
                        "reviewRejectType": "",
                        "rejectReasons": [],
                        "comment": ""
                      }
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "KycStatusObjectUSDActiveBusinessExample": {
        "summary": "KYC Status Object (USD - Business - ACTIVE)",
        "value": {
          "status": "ACTIVE",
          "message": "",
          "reviewResult": {
            "reviewAnswer": "APPROVED",
            "reviewRejectType": "",
            "rejectReasons": [],
            "comment": ""
          },
          "details": {
            "companyInfo": {
              "reviewResult": {
                "reviewAnswer": "APPROVED",
                "reviewRejectType": "",
                "rejectReasons": [],
                "comment": ""
              }
            },
            "questionnaire": {
              "reviewResult": {
                "reviewAnswer": "APPROVED",
                "reviewRejectType": "",
                "rejectReasons": [],
                "comment": ""
              }
            },
            "companyDocuments": {
              "reviewResult": {
                "reviewAnswer": "APPROVED",
                "reviewRejectType": "",
                "rejectReasons": [],
                "comment": ""
              },
              "details": [
                {
                  "id": "04f809a1-e9fc-45d6-9c1f-b308cfb19c96",
                  "type": "PROOF_OF_ADDRESS",
                  "subType": "SINGLE_SIDE",
                  "reviewResult": {
                    "reviewAnswer": "APPROVED",
                    "reviewRejectType": "",
                    "rejectReasons": [],
                    "comment": ""
                  }
                },
                {
                  "id": "b0436bee-0e80-46d3-98a2-6d58183eb84f",
                  "type": "INFORMATION_STATEMENT",
                  "subType": "SINGLE_SIDE",
                  "reviewResult": {
                    "reviewAnswer": "APPROVED",
                    "reviewRejectType": "",
                    "rejectReasons": [],
                    "comment": ""
                  }
                },
                {
                  "id": "d9f38450-ec16-4a4b-bf69-f8c88bb73a94",
                  "type": "SHAREHOLDER_REGISTRY",
                  "subType": "SINGLE_SIDE",
                  "reviewResult": {
                    "reviewAnswer": "APPROVED",
                    "reviewRejectType": "",
                    "rejectReasons": [],
                    "comment": ""
                  }
                },
                {
                  "id": "7a9dc485-3216-47fd-baa4-a7ab4085b723",
                  "type": "INCORPORATION_CERT",
                  "subType": "SINGLE_SIDE",
                  "reviewResult": {
                    "reviewAnswer": "APPROVED",
                    "reviewRejectType": "",
                    "rejectReasons": [],
                    "comment": ""
                  }
                }
              ]
            },
            "ultimateBeneficialOwners": {
              "reviewResult": {
                "reviewAnswer": "APPROVED",
                "reviewRejectType": "",
                "rejectReasons": [],
                "comment": ""
              },
              "details": [
                {
                  "id": "74441b74-caab-5f74-8e24-3fcee83faac8",
                  "status": "ACTIVE",
                  "message": "",
                  "reviewResult": {
                    "reviewAnswer": "APPROVED",
                    "reviewRejectType": "",
                    "rejectReasons": [],
                    "comment": ""
                  },
                  "details": {
                    "identity": {
                      "reviewResult": {
                        "reviewAnswer": "APPROVED",
                        "reviewRejectType": "",
                        "rejectReasons": [],
                        "comment": ""
                      },
                      "details": [
                        {
                          "id": "b4534db5-b759-4a4e-ad29-8ab5a1257936",
                          "type": "PASSPORT",
                          "subType": "SINGLE_SIDE",
                          "reviewResult": {
                            "reviewAnswer": "APPROVED",
                            "reviewRejectType": "",
                            "rejectReasons": [],
                            "comment": ""
                          }
                        }
                      ]
                    },
                    "personalInfo": {
                      "reviewResult": {
                        "reviewAnswer": "APPROVED",
                        "reviewRejectType": "",
                        "rejectReasons": [],
                        "comment": ""
                      }
                    }
                  }
                }
              ]
            }
          }
        }
      },
      "KycStatusObjectAfricaGeneralActiveExample": {
        "summary": "KYC Status Object (AFRICA_GENERAL - ACTIVE)",
        "value": {
          "status": "ACTIVE",
          "warnings": [],
          "message": "",
          "onRamp": {
            "kes": {
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "ghs": {
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "tzs": {
              "bank": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "ugx": {
              "bank": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "bwp": {
              "bank": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "xaf": {
              "bank": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              },
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "mwk": {
              "bank": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              },
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "rwf": {
              "bank": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "zmw": {
              "bank": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              },
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "xof": {
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            }
          },
          "offRamp": {
            "kes": {
              "bank": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              },
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "zar": {
              "bank": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "gns": {
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "tzs": {
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "ugx": {
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "bwp": {
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "xaf": {
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "mwk": {
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "rwf": {
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "zmw": {
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "xof": {
              "momo": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            }
          }
        }
      },
      "KycStatusObjectAfricaNigeriaActiveExample": {
        "summary": "KYC Status Object (AFRICA_NIGERIA - ACTIVE)",
        "value": {
          "status": "ACTIVE",
          "warnings": [],
          "message": "",
          "onRamp": {
            "ngn": {
              "bank": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            }
          },
          "offRamp": {
            "ngn": {
              "bank": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            }
          }
        }
      },
      "KycStatusObjectGlobalNetworkActiveExample": {
        "summary": "KYC Status Object (GLOBAL_NETWORK - ACTIVE)",
        "value": {
          "status": "ACTIVE",
          "warnings": [],
          "message": "",
          "onRamp": {},
          "offRamp": {
            "brl": {
              "pix": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "hkd": {
              "wire": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "mxn": {
              "spei": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            },
            "ngn": {
              "bank": {
                "status": "ACTIVE",
                "warnings": [],
                "message": ""
              }
            }
          }
        }
      },
      "KycStatusObjectOnChainActiveExample": {
        "summary": "KYC Status Object (ON_CHAIN - ACTIVE)",
        "value": {
          "INDIVIDUAL": {
            "status": "ACTIVE",
            "warnings": [],
            "message": "",
            "addresses": {
              "ETHEREUM": {
                "address": "0xC1e00C9d1F3097bd0Acb560E1629Ae61af70fab2"
              },
              "POLYGON": {
                "address": "0x17B932d00294587868797ceA27A23E3EDC5f0F7b"
              }
            }
          }
        }
      },
      "BasicKycStatusObjectListExample": {
        "summary": "Basic KYC Status Object List",
        "value": [
          {
            "user": {
              "id": "35dbc7ea-2877-4a70-add6-b5458289df23",
              "type": "individual",
              "name": "John Doe",
              "email": "jd@hifibridge.com"
            },
            "rails": "USD",
            "createdAt": "2023-10-01T12:00:00Z",
            "updatedAt": "2023-10-02T12:00:00Z",
            "status": "ACTIVE"
          }
        ]
      },
      "KycRequirementObjectBusinessUSDExample": {
        "summary": "KYC Requirement Object (USD - Business)",
        "value": {
          "userId": "35dbc7ea-2877-4a70-add6-b5458289df23",
          "rails": "USD",
          "type": "business",
          "required": {
            "businessName": "string",
            "businessType": "string",
            "businessIndustry": "string",
            "registrationNumber": "string",
            "registeredAddress": "object",
            "address": {
              "required": {
                "addressLine1": "string",
                "city": "string",
                "stateProvinceRegion": "string",
                "postalCode": "string",
                "country": "string"
              },
              "optional": {
                "addressLine2": "string"
              }
            },
            "website": "string",
            "incorporationDate": "date",
            "email": "string",
            "phone": "string",
            "taxIdentificationNumber": "string",
            "sofEuQuestionnaire": {
              "required": {
                "primaryPurpose": "string",
                "sourceOfFunds": "string",
                "transmitsCustomerFunds": "boolean",
                "conductsMoneyServices": "boolean",
                "highRiskActivities": "array",
                "estimatedAnnualRevenueUsd": "string",
                "expectedMonthlyPaymentsUsd": "string",
                "customerFundsDescription": "string"
              },
              "optional": {
                "operatesInProhibitedCountries": "string",
                "primaryPurposeOther": "string",
                "sourceOfFundsDescription": "string",
                "transmitsCustomerFundsDescription": "string"
              }
            },
            "ultimateBeneficialOwners": [
              {
                "required": {
                  "roles": "array",
                  "businessTitle": "string",
                  "firstName": "string",
                  "lastName": "string",
                  "nationality": "string",
                  "email": "string",
                  "phone": "string",
                  "address": {
                    "required": {
                      "addressLine1": "string",
                      "city": "string",
                      "stateProvinceRegion": "string",
                      "postalCode": "string",
                      "country": "string"
                    },
                    "optional": {
                      "addressLine2": "string"
                    }
                  },
                  "taxIdentificationNumber": "string",
                  "dateOfBirth": "date",
                  "shareProportion": "string",
                  "relationshipEstablishedAt": "date",
                  "documents": {
                    "identity": {
                      "minCount": 1,
                      "acceptedDocTypes": [
                        "DRIVERS",
                        "ID_CARD",
                        "PASSPORT",
                        "RESIDENCE_PERMIT"
                      ]
                    }
                  }
                },
                "optional": {
                  "middleName": "string"
                }
              }
            ],
            "documents": {
              "legalPresence": {
                "minCount": 1,
                "acceptedDocTypes": [
                  "INCORPORATION_ARTICLES",
                  "INCORPORATION_CERT",
                  "STATE_REGISTRY"
                ]
              },
              "ownershipStructure": {
                "minCount": 1,
                "acceptedDocTypes": [
                  "SHAREHOLDER_REGISTRY",
                  "TRUST_AGREEMENT",
                  "INFORMATION_STATEMENT",
                  "STATE_REGISTRY"
                ]
              },
              "companyDetails": {
                "minCount": 1,
                "acceptedDocTypes": [
                  "PROOF_OF_ADDRESS"
                ]
              },
              "controlStructure": {
                "minCount": 1,
                "acceptedDocTypes": [
                  "DIRECTORS_REGISTRY",
                  "TRUST_AGREEMENT",
                  "INFORMATION_STATEMENT",
                  "STATE_REGISTRY"
                ]
              }
            }
          },
          "optional": {
            "incorporationCountry": "string",
            "incorporationState": "string"
          },
          "invalid": {}
        }
      },
      "KycRequirementObjectIndividualUSDExample": {
        "summary": "KYC Requirement Object (USD - Individual)",
        "value": {
          "userId": "35dbc7ea-2877-4a70-add6-b5458289df23",
          "rails": "USD",
          "type": "individual",
          "required": {
            "firstName": "string",
            "lastName": "string",
            "email": "string",
            "phone": "string",
            "address": {
              "required": {
                "addressLine1": "string",
                "city": "string",
                "stateProvinceRegion": "string",
                "postalCode": "string",
                "country": "string"
              },
              "optional": {
                "addressLine2": "string"
              }
            },
            "nationality": "string",
            "dateOfBirth": "string",
            "taxIdentificationNumber": "string",
            "documents": {
              "identity": {
                "minCount": 1,
                "acceptedDocTypes": [
                  "DRIVERS",
                  "ID_CARD",
                  "PASSPORT",
                  "RESIDENCE_PERMIT"
                ]
              },
              "proofOfResidence": {
                "minCount": 1,
                "acceptedDocTypes": [
                  "DRIVERS",
                  "ID_CARD",
                  "RESIDENCE_PERMIT",
                  "UTILITY_BILL",
                  "BANK_STATEMENT",
                  "RENTAL_AGREEMENT",
                  "TAX_DOCUMENT",
                  "VOTER_REGISTRATION_CARD",
                  "BANK_REFERENCE_LETTER",
                  "LEASE_OR_TENANCY_AGREEMENT",
                  "PROOF_OF_ADDRESS"
                ],
                "countryRestrictions": {
                  "DRIVERS": [
                    "USA",
                    "CAN"
                  ],
                  "ID_CARD": [
                    "USA",
                    "CAN"
                  ],
                  "RESIDENCE_PERMIT": [
                    "USA",
                    "CAN"
                  ]
                }
              }
            }
          },
          "optional": {},
          "invalid": {
            "message": "fields are either missing or invalid",
            "fields": {
              "phone": "missing",
              "nationality": "missing",
              "taxIdentificationNumber": "missing"
            },
            "documents": {
              "message": "The following document groups are not satisfied: identity",
              "groups": {
                "identity": {
                  "minCount": 1,
                  "acceptedDocTypes": [
                    "DRIVERS",
                    "ID_CARD",
                    "PASSPORT",
                    "RESIDENCE_PERMIT"
                  ]
                }
              }
            }
          }
        }
      },
      "KycLinkObjectExample": {
        "summary": "KYC Link Object",
        "value": {
          "kycLinkUrl": "http://dashboard.hifibridge.com/production/kyc-link?sessionToken=768fb84ad65284cb5fffda212f5e779829318acwdab5a36efbf83c4f44369c73"
        }
      },
      "DocumentObjectIndividualExample": {
        "summary": "Document Object (Individual)",
        "value": {
          "id": "d9f38450-ec16-4a4b-bf69-f8c88bb73a94",
          "type": "PASSPORT",
          "subType": "SINGLE_SIDE",
          "issuedCountry": "USA",
          "issuedDate": null,
          "expiryDate": null,
          "number": null,
          "description": null,
          "url": "https://example.com/doc_123",
          "fileId": "file_zEFpbPhk71NaQfEVMR544"
        }
      },
      "DocumentObjectBusinessExample": {
        "summary": "Document Object (Business)",
        "value": {
          "id": "7c9439f6-655b-4aeb-9b32-e17759ee9134",
          "type": "CERTIFICATE_OF_INCORPORATION",
          "subType": "SINGLE_SIDE",
          "issuedCountry": "USA",
          "issuedDate": null,
          "expiryDate": null,
          "number": null,
          "description": null,
          "url": "https://example.com/doc_123",
          "fileId": "file_zEFpbPhk71NaQfEVMR544",
          "uboId": null
        }
      },
      "DocumentObjectUboExample": {
        "summary": "Document Object (UBO)",
        "value": {
          "id": "7a9dc485-3216-47fd-baa4-a7ab4085b723",
          "type": "PASSPORT",
          "subType": "SINGLE_SIDE",
          "issuedCountry": "USA",
          "issuedDate": null,
          "expiryDate": null,
          "number": null,
          "description": null,
          "url": "https://example.com/doc_123",
          "fileId": "file_zEFpbPhk71NaQfEVMR544",
          "uboId": "3285c3be-ef36-4f01-bf95-578d3116f0ff"
        }
      },
      "DocumentObjectListExample": {
        "summary": "Document Object List",
        "value": {
          "count": 2,
          "data": [
            {
              "id": "7c9439f6-655b-4aeb-9b32-e17759ee9134",
              "type": "CERTIFICATE_OF_INCORPORATION",
              "subType": "SINGLE_SIDE",
              "issuedCountry": "USA",
              "issuedDate": null,
              "expiryDate": null,
              "number": null,
              "description": null,
              "url": "https://example.com/doc_123",
              "fileId": "file_zEFpbPhk71NaQfEVMR544",
              "uboId": null
            },
            {
              "id": "7a9dc485-3216-47fd-baa4-a7ab4085b723",
              "type": "PASSPORT",
              "subType": "SINGLE_SIDE",
              "issuedCountry": "USA",
              "issuedDate": null,
              "expiryDate": null,
              "number": null,
              "description": null,
              "url": "https://example.com/doc_123",
              "fileId": "file_zEFpbPhk71NaQfEVMR544",
              "uboId": "3285c3be-ef36-4f01-bf95-578d3116f0ff"
            }
          ]
        }
      },
      "UboObjectExample": {
        "summary": "UBO Object",
        "value": {
          "id": "03aef9fa-0e58-4f42-a22f-46de619b42e0",
          "role": "OWNER_OR_OPERATOR",
          "roles": [
            "UBO",
            "DIRECTOR"
          ],
          "businessTitle": "CEO",
          "firstName": "John",
          "firstNameLocal": "John",
          "middleName": null,
          "middleNameLocal": null,
          "lastName": "Doe",
          "lastNameLocal": "Doe",
          "nationality": "USA",
          "email": "example@gmail.com",
          "phone": "+12223334444",
          "address": {
            "addressLine1": "123 Main St",
            "addressLine2": null,
            "city": "San Francisco",
            "stateProvinceRegion": "CA",
            "postalCode": "94105",
            "country": "USA"
          },
          "dateOfBirth": "1990-01-01",
          "countryOfBirth": "USA",
          "stateOfBirth": "NJ",
          "placeOfBirth": null,
          "gender": "M",
          "country": "USA",
          "taxIdentificationNumber": "123456789",
          "taxResidenceCountry": "USA",
          "ipAddress": null,
          "hasOwnership": true,
          "hasControl": true,
          "isSigner": true,
          "relationshipEstablishedAt": "2020-01-01",
          "govIdCountry": "USA",
          "govIdType": "PASSPORT",
          "govIdNumber": "123456789",
          "govIdFrontUrl": "https://example.com",
          "govIdBackUrl": "https://example.com",
          "govIdIssuanceDate": "2020-01-01",
          "govIdExpirationDate": "2027-01-01",
          "govIdIssuanceAuthority": null,
          "proofOfAddressType": "UTILITY_BILL",
          "proofOfAddressUrl": "https://example.com",
          "authLetterUrl": "https://example.com",
          "shareProportion": 25,
          "supplementaryInfo": null,
          "supplementaryUrl": null,
          "documents": []
        }
      },
      "UboObjectListExample": {
        "summary": "UBO Object List",
        "value": {
          "count": 1,
          "data": [
            {
              "id": "03aef9fa-0e58-4f42-a22f-46de619b42e0",
              "role": "OWNER_OR_OPERATOR",
              "roles": [
                "UBO",
                "DIRECTOR"
              ],
              "businessTitle": "CEO",
              "firstName": "John",
              "firstNameLocal": "John",
              "middleName": null,
              "middleNameLocal": null,
              "lastName": "Doe",
              "lastNameLocal": "Doe",
              "nationality": "USA",
              "email": "example@gmail.com",
              "phone": "+12223334444",
              "address": {
                "addressLine1": "123 Main St",
                "addressLine2": null,
                "city": "San Francisco",
                "stateProvinceRegion": "CA",
                "postalCode": "94105",
                "country": "USA"
              },
              "dateOfBirth": "1990-01-01",
              "countryOfBirth": "USA",
              "stateOfBirth": "NJ",
              "placeOfBirth": null,
              "gender": "M",
              "country": "USA",
              "taxIdentificationNumber": "123456789",
              "taxResidenceCountry": "USA",
              "ipAddress": null,
              "hasOwnership": true,
              "hasControl": true,
              "isSigner": true,
              "relationshipEstablishedAt": "2020-01-01",
              "govIdCountry": "USA",
              "govIdType": "PASSPORT",
              "govIdNumber": "123456789",
              "govIdFrontUrl": "https://example.com",
              "govIdBackUrl": "https://example.com",
              "govIdIssuanceDate": "2020-01-01",
              "govIdExpirationDate": "2027-01-01",
              "govIdIssuanceAuthority": null,
              "proofOfAddressType": "UTILITY_BILL",
              "proofOfAddressUrl": "https://example.com",
              "authLetterUrl": "https://example.com",
              "shareProportion": 25,
              "supplementaryInfo": null,
              "supplementaryUrl": null,
              "documents": []
            }
          ]
        }
      },
      "KycObjectIndividualExample": {
        "summary": "KYC Object (Individual)",
        "value": {
          "userId": "35dbc7ea-2877-4a70-add6-b5458289df23",
          "kycInfo": {
            "type": "individual",
            "firstName": "John",
            "firstNameLocal": "Lil John",
            "middleName": null,
            "middleNameLocal": null,
            "lastName": "Doe",
            "lastNameLocal": null,
            "nationality": "USA",
            "email": "example@gmail.com",
            "phone": "+12223334444",
            "address": {
              "addressLine1": "123 Main St",
              "addressLine2": null,
              "city": "San Francisco",
              "stateProvinceRegion": "CA",
              "postalCode": "94105",
              "country": "USA"
            },
            "dateOfBirth": "1990-01-01",
            "countryOfBirth": "USA",
            "stateOfBirth": "NY",
            "placeOfBirth": null,
            "taxIdentificationNumber": "123456789",
            "taxResidenceCountry": "USA",
            "govIdType": "PASSPORT",
            "govIdNumber": "123456789",
            "govIdFrontUrl": "https://example.com",
            "govIdBackUrl": "https://example.com",
            "govIdCountry": "USA",
            "govIdIssuanceDate": "2020-01-01",
            "govIdExpirationDate": "2027-01-01",
            "govIdIssuanceAuthority": null,
            "govIdHandHoldUrl": "https://example.com",
            "proofOfAddressType": "UTILITY_BILL",
            "proofOfAddressUrl": "https://example.com",
            "sofEuQuestionnaire": null,
            "ipAddress": "108.28.159.21",
            "idType": "NIN",
            "idNumber": "123456789",
            "additionalIdType": null,
            "additionalIdNumber": null,
            "purpose": null,
            "productServiceCategory": null,
            "supplementaryInfo": null,
            "supplementaryUrl": null,
            "documents": []
          }
        }
      },
      "KycObjectBusinessExample": {
        "summary": "KYC Object (Business)",
        "value": {
          "userId": "35dbc7ea-2877-4a70-add6-b5458289df23",
          "kycInfo": {
            "type": "business",
            "businessName": "Example Inc",
            "businessNameLocal": null,
            "businessDescription": "Example business description",
            "email": "example@example.com",
            "phone": "+12223334444",
            "sourceOfFunds": "income",
            "businessType": "s_corporation",
            "businessIndustry": "111110",
            "website": "example.com",
            "address": {
              "addressLine1": "123 Main St",
              "addressLine2": null,
              "city": "San Francisco",
              "stateProvinceRegion": "CA",
              "postalCode": "94105",
              "country": "USA"
            },
            "taxIdentificationNumberType": "EIN",
            "taxIdentificationNumber": "123456789",
            "leiNumber": "null,",
            "daoStatus": false,
            "transmitsCustomerFunds": false,
            "formationDocUrl": "https://example.com",
            "proofOfOwnershipUrl": "https://example.com",
            "proofOfAddressType": "UTILITY_BILL",
            "proofOfAddressUrl": "https://example.com",
            "formationDate": "2020-01-01",
            "ipAddress": "108.28.159.21",
            "complianceScreeningExplanation": null,
            "certificateOfRegistrationDocType": "CERTIFICATE_OF_REGISTRATION",
            "certificateOfRegistrationDocUrl": "https://example.com",
            "certificateNumber": "123456789",
            "registrationNumber": "349182744",
            "registeredAddress": {
              "addressLine1": "123 Main St",
              "addressLine2": null,
              "city": "San Francisco",
              "stateProvinceRegion": "CA",
              "postalCode": "94105",
              "country": "USA"
            },
            "postalAddress": {
              "addressLine1": "123 Main St",
              "addressLine2": null,
              "city": "San Francisco",
              "stateProvinceRegion": "CA",
              "postalCode": "94105",
              "country": "USA"
            },
            "alternativeNames": null,
            "certificateIncorporationDocUrl": "https://example.com",
            "incorporationNumber": "123456789",
            "incorporationDate": "2020-01-01",
            "incorporationCountry": "USA",
            "incorporationState": "NY",
            "controlScheme": "",
            "businessRegistrationDocUrl": "https://example.com",
            "licenseExpirationDate": "2027-01-01",
            "productServiceCategory": "KC02001001",
            "shareStructureUrl": "https://example.com",
            "constitutionOrAnnualReportUrl": "https://example.com",
            "articlesOfAssociationUrl": "https://example.com",
            "uboDeclarationUrl": "https://example.com",
            "partnershipMinsOfMeetingUrl": null,
            "partnershipDeedUrl": null,
            "certificateOfIncumbencyUrl": null,
            "flowOfFundsUrl": null,
            "sourceOfFundsUrl": null,
            "purpose": "PAY_SUPPLIERS",
            "tradeName": null,
            "exportCountry": null,
            "tradeType": null,
            "supplementaryInfo": null,
            "supplementaryUrl": null,
            "dueDiligenceForm": null,
            "organizationStructureUrl": null,
            "sofEuQuestionnaire": {
              "primaryPurpose": "investment_purposes",
              "sourceOfFunds": "investment_proceeds",
              "highRiskActivities": [
                "none_of_the_above"
              ],
              "conductsMoneyServices": false,
              "transmitsCustomerFunds": false,
              "customerFundsDescription": "na",
              "estimatedAnnualRevenueUsd": "10000000_49999999",
              "expectedMonthlyPaymentsUsd": "100000",
              "operatesInProhibitedCountries": false
            },
            "documents": [
              {
                "id": "aafddd61-ed30-48bd-b122-bdc3aed54ac2",
                "type": "INCORPORATION_CERT",
                "subType": "SINGLE_SIDE",
                "issuedCountry": "USA",
                "issuedDate": "2022-01-04T00:00:00+00:00",
                "expiryDate": "2030-01-04T00:00:00+00:00",
                "number": "837473233",
                "url": "https://example.com",
                "fileID": null,
                "description": null,
                "uboId": null
              }
            ],
            "ultimateBeneficialOwners": [
              {
                "id": "03aef9fa-0e58-4f42-a22f-46de619b42e0",
                "role": "OWNER_OR_OPERATOR",
                "roles": [
                  "UBO",
                  "DIRECTOR"
                ],
                "businessTitle": "CEO",
                "firstName": "John",
                "firstNameLocal": "John",
                "middleName": null,
                "middleNameLocal": null,
                "lastName": "Doe",
                "lastNameLocal": "John",
                "nationality": "USA",
                "email": "example@gmail.com",
                "phone": "+12223334444",
                "address": {
                  "addressLine1": "123 Main St",
                  "addressLine2": null,
                  "city": "San Francisco",
                  "stateProvinceRegion": "CA",
                  "postalCode": "94105",
                  "country": "USA"
                },
                "dateOfBirth": "1990-01-01",
                "countryOfBirth": "USA",
                "stateOfBirth": null,
                "placeOfBirth": null,
                "gender": "M",
                "country": "USA",
                "taxIdentificationNumber": "123456789",
                "taxResidenceCountry": "USA",
                "ipAddress": null,
                "hasOwnership": true,
                "hasControl": true,
                "isSigner": true,
                "relationshipEstablishedAt": "2020-01-01",
                "govIdCountry": "USA",
                "govIdType": "PASSPORT",
                "govIdNumber": "123456789",
                "govIdFrontUrl": "https://example.com",
                "govIdBackUrl": "https://example.com",
                "govIdIssuanceDate": "2020-01-01",
                "govIdExpirationDate": "2027-01-01",
                "govIdIssuanceAuthority": null,
                "proofOfAddressType": "UTILITY_BILL",
                "proofOfAddressUrl": "https://example.com",
                "authLetterUrl": "https://example.com",
                "shareProportion": 25,
                "supplementaryInfo": null,
                "supplementaryUrl": null,
                "documents": []
              }
            ]
          }
        }
      },
      "OfframpObjectUsdOpenQuoteExample": {
        "summary": "Offramp Object (USD - OPEN_QUOTE)",
        "value": {
          "transferType": "OFFRAMP",
          "transferDetails": {
            "id": "173c1e89-7bbd-4352-9e5d-73807681510d",
            "requestId": "201ca31d-700f-4c76-ac4b-961623acbb79",
            "createdAt": "2025-02-03T16:12:04.331652+00:00",
            "updatedAt": "2025-02-03T16:12:08.732+00:00",
            "status": "OPEN_QUOTE",
            "failedReason": null,
            "source": {
              "userId": "7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee",
              "chain": "POLYGON",
              "currency": "usdc",
              "amount": 10,
              "walletAddress": "0x366B759bAA089Fa57a08edd3F2E028E86b97f8D6",
              "user": {
                "email": "john.doe@hifibridge.com",
                "firstName": "John",
                "lastName": "Doe",
                "businessName": null
              }
            },
            "destination": {
              "userId": "7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee",
              "amount": 0,
              "currency": "usd",
              "wireMessage": "Wire message",
              "achReference": "ACH reference",
              "paymentReference": "Payment reference",
              "user": {
                "email": "john.doe@hifibridge.com",
                "firstName": "John",
                "lastName": "Doe",
                "businessName": null
              },
              "accountId": "12c1c496-8f57-41a1-8292-dbe6547791ce"
            },
            "receipt": {
              "transactionHash": null,
              "paymentTracking": null
            },
            "developerFee": {
              "id": "1c3d24c1-6136-574c-a647-e7eb6a9fb6ed",
              "transactionHash": null,
              "fees": [
                {
                  "type": "PERCENTAGE",
                  "value": "0.0005",
                  "amount": "0.000515",
                  "walletAddress": "0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7"
                },
                {
                  "type": "FLAT",
                  "value": "0.01",
                  "amount": "0.010000",
                  "walletAddress": "0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7"
                }
              ]
            },
            "quoteInformation": {
              "sendGross": {
                "amount": "10",
                "currency": "usdc"
              },
              "sendNet": {
                "amount": "10",
                "currency": "usdc"
              },
              "receiveGross": {
                "amount": "10",
                "currency": "usd"
              },
              "receiveNet": {
                "amount": "10",
                "currency": "usd"
              },
              "rate": "1"
            },
            "depositInformation": []
          }
        }
      },
      "OfframpObjectUsdCryptoInitiatedExample": {
        "summary": "Offramp Object (USD - CRYPTO_INITIATED)",
        "value": {
          "transferType": "OFFRAMP",
          "transferDetails": {
            "id": "173c1e89-7bbd-4352-9e5d-73807681510d",
            "requestId": "201ca31d-700f-4c76-ac4b-961623acbb79",
            "createdAt": "2025-02-03T16:12:04.331652+00:00",
            "updatedAt": "2025-02-03T16:12:08.732+00:00",
            "status": "CRYPTO_INITIATED",
            "failedReason": null,
            "source": {
              "userId": "7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee",
              "chain": "POLYGON",
              "currency": "usdc",
              "amount": 10,
              "walletAddress": "0x366B759bAA089Fa57a08edd3F2E028E86b97f8D6",
              "user": {
                "email": "john.doe@hifibridge.com",
                "firstName": "John",
                "lastName": "Doe",
                "businessName": null
              }
            },
            "destination": {
              "userId": "7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee",
              "amount": 0,
              "currency": "usd",
              "user": {
                "email": "john.doe@hifibridge.com",
                "firstName": "John",
                "lastName": "Doe",
                "businessName": null
              },
              "accountId": "12c1c496-8f57-41a1-8292-dbe6547791ce"
            },
            "receipt": {
              "transactionHash": null,
              "paymentTracking": null
            },
            "developerFee": {
              "id": "1c3d24c1-6136-574c-a647-e7eb6a9fb6ed",
              "transactionHash": null,
              "fees": [
                {
                  "type": "PERCENTAGE",
                  "value": "0.0005",
                  "amount": "0.000515",
                  "walletAddress": "0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7"
                },
                {
                  "type": "FLAT",
                  "value": "0.01",
                  "amount": "0.010000",
                  "walletAddress": "0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7"
                }
              ]
            },
            "quoteInformation": {
              "sendGross": {
                "amount": "10",
                "currency": "usdc"
              },
              "sendNet": {
                "amount": "10",
                "currency": "usdc"
              },
              "receiveGross": {
                "amount": "10",
                "currency": "usd"
              },
              "receiveNet": {
                "amount": "10",
                "currency": "usd"
              },
              "rate": "1"
            },
            "depositInformation": []
          }
        }
      },
      "OfframpObjectUsdCompleteExample": {
        "summary": "Offramp Object (USD - COMPLETED)",
        "value": {
          "transferType": "OFFRAMP",
          "transferDetails": {
            "id": "173c1e89-7bbd-4352-9e5d-73807681510d",
            "requestId": "201ca31d-700f-4c76-ac4b-961623acbb79",
            "createdAt": "2025-02-03T16:12:04.331652+00:00",
            "updatedAt": "2025-02-03T16:12:08.732+00:00",
            "status": "COMPLETED",
            "failedReason": null,
            "source": {
              "userId": "7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee",
              "chain": "POLYGON",
              "currency": "usdc",
              "amount": 10,
              "walletAddress": "0x366B759bAA089Fa57a08edd3F2E028E86b97f8D6",
              "user": {
                "email": "john.doe@hifibridge.com",
                "firstName": "John",
                "lastName": "Doe",
                "businessName": null
              }
            },
            "destination": {
              "userId": "7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee",
              "amount": 0,
              "currency": "usd",
              "wireMessage": "Wire message",
              "achReference": "ACH reference",
              "paymentReference": "Payment reference",
              "user": {
                "email": "john.doe@hifibridge.com",
                "firstName": "John",
                "lastName": "Doe",
                "businessName": null
              },
              "accountId": "12c1c496-8f57-41a1-8292-dbe6547791ce"
            },
            "receipt": {
              "transactionHash": null,
              "paymentTracking": {
                "imad": "20250827SIM14AE0135526",
                "omad": "20250827SIM22390135526",
                "paymentRail": "wire"
              }
            },
            "developerFee": {
              "id": "1c3d24c1-6136-574c-a647-e7eb6a9fb6ed",
              "transactionHash": null,
              "fees": [
                {
                  "type": "PERCENTAGE",
                  "value": "0.0005",
                  "amount": "0.000515",
                  "walletAddress": "0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7"
                },
                {
                  "type": "FLAT",
                  "value": "0.01",
                  "amount": "0.010000",
                  "walletAddress": "0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7"
                }
              ]
            },
            "quoteInformation": {
              "sendGross": {
                "amount": "10",
                "currency": "usdc"
              },
              "sendNet": {
                "amount": "10",
                "currency": "usdc"
              },
              "receiveGross": {
                "amount": "10",
                "currency": "usd"
              },
              "receiveNet": {
                "amount": "10",
                "currency": "usd"
              },
              "rate": "1"
            },
            "depositInformation": []
          }
        }
      },
      "OfframpObjectListExample": {
        "summary": "Offramp Object List",
        "value": {
          "count": 1,
          "records": [
            {
              "transferType": "OFFRAMP",
              "transferDetails": {
                "id": "173c1e89-7bbd-4352-9e5d-73807681510d",
                "requestId": "201ca31d-700f-4c76-ac4b-961623acbb79",
                "createdAt": "2025-02-03T16:12:04.331652+00:00",
                "updatedAt": "2025-02-03T16:12:08.732+00:00",
                "status": "COMPLETED",
                "failedReason": null,
                "source": {
                  "userId": "7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee",
                  "chain": "POLYGON",
                  "currency": "usdc",
                  "amount": 10,
                  "walletAddress": "0x366B759bAA089Fa57a08edd3F2E028E86b97f8D6",
                  "user": {
                    "email": "john.doe@hifibridge.com",
                    "firstName": "John",
                    "lastName": "Doe",
                    "businessName": null
                  }
                },
                "destination": {
                  "userId": "7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee",
                  "amount": 0,
                  "currency": "usd",
                  "wireMessage": "Wire message",
                  "achReference": "ACH reference",
                  "paymentReference": "Payment reference",
                  "user": {
                    "email": "john.doe@hifibridge.com",
                    "firstName": "John",
                    "lastName": "Doe",
                    "businessName": null
                  },
                  "accountId": "12c1c496-8f57-41a1-8292-dbe6547791ce"
                },
                "receipt": {
                  "transactionHash": null,
                  "paymentTracking": {
                    "imad": "20250827SIM14AE0135526",
                    "omad": "20250827SIM22390135526",
                    "paymentRail": "wire"
                  }
                },
                "developerFee": {
                  "id": "1c3d24c1-6136-574c-a647-e7eb6a9fb6ed",
                  "transactionHash": null,
                  "fees": [
                    {
                      "type": "PERCENTAGE",
                      "value": "0.0005",
                      "amount": "0.000515",
                      "walletAddress": "0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7"
                    },
                    {
                      "type": "FLAT",
                      "value": "0.01",
                      "amount": "0.010000",
                      "walletAddress": "0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7"
                    }
                  ]
                },
                "quoteInformation": {
                  "sendGross": {
                    "amount": "10",
                    "currency": "usdc"
                  },
                  "sendNet": {
                    "amount": "10",
                    "currency": "usdc"
                  },
                  "receiveGross": {
                    "amount": "10",
                    "currency": "usd"
                  },
                  "receiveNet": {
                    "amount": "10",
                    "currency": "usd"
                  },
                  "rate": "1"
                },
                "depositInformation": []
              }
            }
          ]
        }
      },
      "OnrampObjectUsdOpenQuoteExample": {
        "summary": "Onramp Object (USD - OPEN_QUOTE)",
        "value": {
          "transferType": "ONRAMP",
          "transferDetails": {
            "id": "b26927e6-2771-423c-af44-a3c7a3e815c5",
            "requestId": "e1047def-6942-4fd7-be04-e62eb41813b6",
            "createdAt": "2025-02-03T17:15:31.927121+00:00",
            "updatedAt": "2025-02-03T17:15:35.882+00:00",
            "status": "OPEN_QUOTE",
            "failedReason": null,
            "source": {
              "userId": "c15c0adf-3e45-4a62-b334-73aeec127649",
              "currency": "usd",
              "amount": 10,
              "accountId": null,
              "user": {
                "email": "example@hifibridge.com",
                "lastName": "Wu",
                "firstName": "Henry",
                "businessName": null
              },
              "bankInfo": null
            },
            "destination": {
              "userId": "c15c0adf-3e45-4a62-b334-73aeec127649",
              "currency": "usdc",
              "chain": "POLYGON",
              "walletAddress": "0x848732f6c834E05b17C56fa01E83EE095f72C3c3",
              "externalWalletId": null,
              "amount": null,
              "user": {
                "email": "example@hifibridge.com",
                "lastName": "Wu",
                "firstName": "Henry",
                "businessName": null
              }
            },
            "receipt": {
              "transactionHash": null
            },
            "developerFee": null,
            "virtualAccountId": null,
            "quoteInformation": {
              "sendGross": {
                "amount": "10.00",
                "currency": "usd"
              },
              "sendNet": {
                "amount": "10.00",
                "currency": "usd"
              },
              "railFee": {
                "amount": "0.00",
                "currency": "usdc"
              },
              "receiveGross": {
                "amount": "10.00",
                "currency": "usdc"
              },
              "receiveNet": {
                "amount": "10.00",
                "currency": "usdc"
              },
              "rate": "1.00",
              "expiresAt": "N/A"
            },
            "depositInfo": null
          }
        }
      },
      "OnrampObjectUsdAwaitingFundsExample": {
        "summary": "Onramp Object (USD - AWAITING_FUNDS)",
        "value": {
          "transferType": "ONRAMP",
          "transferDetails": {
            "id": "b26927e6-2771-423c-af44-a3c7a3e815c5",
            "requestId": "e1047def-6942-4fd7-be04-e62eb41813b6",
            "createdAt": "2025-02-03T17:15:31.927121+00:00",
            "updatedAt": "2025-02-03T17:15:35.882+00:00",
            "status": "AWAITING_FUNDS",
            "failedReason": null,
            "source": {
              "userId": "c15c0adf-3e45-4a62-b334-73aeec127649",
              "currency": "usd",
              "amount": 10,
              "accountId": null,
              "user": {
                "email": "example@hifibridge.com",
                "lastName": "Wu",
                "firstName": "Henry",
                "businessName": null
              },
              "bankInfo": null
            },
            "destination": {
              "userId": "c15c0adf-3e45-4a62-b334-73aeec127649",
              "currency": "usdc",
              "chain": "POLYGON",
              "walletAddress": "0x848732f6c834E05b17C56fa01E83EE095f72C3c3",
              "externalWalletId": null,
              "amount": null,
              "user": {
                "email": "example@hifibridge.com",
                "lastName": "Wu",
                "firstName": "Henry",
                "businessName": null
              }
            },
            "receipt": {
              "transactionHash": null
            },
            "developerFee": null,
            "virtualAccountId": null,
            "quoteInformation": {
              "sendGross": {
                "amount": "10.00",
                "currency": "usd"
              },
              "sendNet": {
                "amount": "10.00",
                "currency": "usd"
              },
              "railFee": {
                "amount": "0.00",
                "currency": "usdc"
              },
              "receiveGross": {
                "amount": "10.00",
                "currency": "usdc"
              },
              "receiveNet": {
                "amount": "10.00",
                "currency": "usdc"
              },
              "rate": "1.00",
              "expiresAt": "N/A"
            },
            "depositInfo": {
              "bankName": "Bank of NoWhere",
              "bankAddress": "123 Main St, New York, NY 10001, USA",
              "beneficiary": {
                "name": "Henry Wu",
                "address": "Example St 1., Apt 123, New York, NY, 10010, US"
              },
              "ach": {
                "routingNumber": "028000024",
                "accountNumber": "123456789"
              },
              "wire": {
                "routingNumber": "021000021",
                "accountNumber": "123456789"
              },
              "rtp": {
                "routingNumber": "021000021",
                "accountNumber": "123456789"
              },
              "reference": "HFD70579F",
              "depositBy": "2025-10-04T04:23:40.229Z",
              "instruction": "Please deposit only one payment with the exact amount of usd and the reference code HFD70579F to the designated bank account by 2025-10-04T04:23:40.229Z. Missing or incorrect reference codes, discrepancies in the amount, or additional payments may result in the funds being lost. Ensure that the beneficiary name matches the provided account holder name, otherwise the payment may be rejected."
            }
          }
        }
      },
      "OnrampObjectUsdFiatPendingExample": {
        "summary": "Onramp Object (USD - FIAT_PENDING)",
        "value": {
          "transferType": "ONRAMP",
          "transferDetails": {
            "id": "b26927e6-2771-423c-af44-a3c7a3e815c5",
            "requestId": "e1047def-6942-4fd7-be04-e62eb41813b6",
            "createdAt": "2025-02-03T17:15:31.927121+00:00",
            "updatedAt": "2025-02-03T17:15:35.882+00:00",
            "status": "FIAT_PENDING",
            "failedReason": null,
            "source": {
              "userId": "c15c0adf-3e45-4a62-b334-73aeec127649",
              "currency": "usd",
              "amount": 10,
              "accountId": null,
              "user": {
                "email": "example@hifibridge.com",
                "lastName": "Wu",
                "firstName": "Henry",
                "businessName": null
              },
              "bankInfo": {
                "bankName": "Bank of America",
                "beneficiaryName": "Henry Wu",
                "description": "",
                "routingNumber": "026009593",
                "referenceNumber": "HFD70579F",
                "imad": "",
                "omad": "",
                "bankAddress": "100 N Tryon St, Charlotte, NC 28202, USA"
              }
            },
            "destination": {
              "userId": "c15c0adf-3e45-4a62-b334-73aeec127649",
              "currency": "usdc",
              "chain": "POLYGON",
              "walletAddress": "0x848732f6c834E05b17C56fa01E83EE095f72C3c3",
              "externalWalletId": null,
              "amount": null,
              "user": {
                "email": "example@hifibridge.com",
                "lastName": "Wu",
                "firstName": "Henry",
                "businessName": null
              }
            },
            "receipt": {
              "transactionHash": null
            },
            "developerFee": null,
            "virtualAccountId": null,
            "quoteInformation": {
              "sendGross": {
                "amount": "10.00",
                "currency": "usd"
              },
              "sendNet": {
                "amount": "10.00",
                "currency": "usd"
              },
              "railFee": {
                "amount": "0.00",
                "currency": "usdc"
              },
              "receiveGross": {
                "amount": "10.00",
                "currency": "usdc"
              },
              "receiveNet": {
                "amount": "10.00",
                "currency": "usdc"
              },
              "rate": "1.00",
              "expiresAt": "N/A"
            },
            "depositInfo": {
              "bankName": "Bank of NoWhere",
              "bankAddress": "123 Main St, New York, NY 10001, USA",
              "beneficiary": {
                "name": "Henry Wu",
                "address": "Example St 1., Apt 123, New York, NY, 10010, US"
              },
              "ach": {
                "routingNumber": "028000024",
                "accountNumber": "123456789"
              },
              "wire": {
                "routingNumber": "021000021",
                "accountNumber": "123456789"
              },
              "rtp": {
                "routingNumber": "021000021",
                "accountNumber": "123456789"
              },
              "reference": "HFD70579F",
              "depositBy": "2025-10-04T04:23:40.229Z",
              "instruction": "Please deposit only one payment with the exact amount of usd and the reference code HFD70579F to the designated bank account by 2025-10-04T04:23:40.229Z. Missing or incorrect reference codes, discrepancies in the amount, or additional payments may result in the funds being lost. Ensure that the beneficiary name matches the provided account holder name, otherwise the payment may be rejected."
            }
          }
        }
      },
      "OnrampObjectListExample": {
        "summary": "Onramp Object List",
        "value": {
          "count": 1,
          "records": [
            {
              "transferType": "ONRAMP",
              "transferDetails": {
                "id": "b26927e6-2771-423c-af44-a3c7a3e815c5",
                "requestId": "e1047def-6942-4fd7-be04-e62eb41813b6",
                "createdAt": "2025-02-03T17:15:31.927121+00:00",
                "updatedAt": "2025-02-03T17:15:35.882+00:00",
                "status": "FIAT_PENDING",
                "failedReason": null,
                "source": {
                  "userId": "c15c0adf-3e45-4a62-b334-73aeec127649",
                  "currency": "usd",
                  "amount": 10,
                  "accountId": null,
                  "user": {
                    "email": "example@hifibridge.com",
                    "lastName": "Wu",
                    "firstName": "Henry",
                    "businessName": null
                  },
                  "bankInfo": {
                    "bankName": "Bank of America",
                    "beneficiaryName": "Henry Wu",
                    "description": "",
                    "routingNumber": "026009593",
                    "referenceNumber": "HFD70579F",
                    "imad": "",
                    "omad": "",
                    "bankAddress": "100 N Tryon St, Charlotte, NC 28202, USA"
                  }
                },
                "destination": {
                  "userId": "c15c0adf-3e45-4a62-b334-73aeec127649",
                  "currency": "usdc",
                  "chain": "POLYGON",
                  "walletAddress": "0x848732f6c834E05b17C56fa01E83EE095f72C3c3",
                  "externalWalletId": null,
                  "amount": null,
                  "user": {
                    "email": "example@hifibridge.com",
                    "lastName": "Wu",
                    "firstName": "Henry",
                    "businessName": null
                  }
                },
                "receipt": {
                  "transactionHash": null
                },
                "developerFee": null,
                "virtualAccountId": null,
                "quoteInformation": {
                  "sendGross": {
                    "amount": "10.00",
                    "currency": "usd"
                  },
                  "sendNet": {
                    "amount": "10.00",
                    "currency": "usd"
                  },
                  "railFee": {
                    "amount": "0.00",
                    "currency": "usdc"
                  },
                  "receiveGross": {
                    "amount": "10.00",
                    "currency": "usdc"
                  },
                  "receiveNet": {
                    "amount": "10.00",
                    "currency": "usdc"
                  },
                  "rate": "1.00",
                  "expiresAt": "N/A"
                },
                "depositInfo": {
                  "bankName": "Bank of NoWhere",
                  "bankAddress": "123 Main St, New York, NY 10001, USA",
                  "beneficiary": {
                    "name": "Henry Wu",
                    "address": "Example St 1., Apt 123, New York, NY, 10010, US"
                  },
                  "ach": {
                    "routingNumber": "028000024",
                    "accountNumber": "123456789"
                  },
                  "wire": {
                    "routingNumber": "021000021",
                    "accountNumber": "123456789"
                  },
                  "rtp": {
                    "routingNumber": "021000021",
                    "accountNumber": "123456789"
                  },
                  "reference": "HFD70579F",
                  "depositBy": "2025-10-04T04:23:40.229Z",
                  "instruction": "Please deposit only one payment with the exact amount of usd and the reference code HFD70579F to the designated bank account by 2025-10-04T04:23:40.229Z. Missing or incorrect reference codes, discrepancies in the amount, or additional payments may result in the funds being lost. Ensure that the beneficiary name matches the provided account holder name, otherwise the payment may be rejected."
                }
              }
            }
          ],
          "nextCursor": "2025-02-03T17:15:31.927121+00:00"
        }
      },
      "TemplateListExample": {
        "summary": "List of all metric templates",
        "value": {
          "status": "success",
          "data": [
            {
              "template": "GROSS_VOLUME",
              "displayName": "Gross Volume",
              "description": "Total combined USD-equivalent value of completed Onramp and Offramp transactions.",
              "supportedParams": [
                {
                  "name": "createdAfter",
                  "type": "date",
                  "required": true,
                  "multiple": false,
                  "constraints": {
                    "minDate": "2024-07-01",
                    "maxDate": "2025-12-08"
                  }
                },
                {
                  "name": "createdBefore",
                  "type": "date",
                  "required": true,
                  "multiple": false,
                  "constraints": {
                    "maxDate": "2025-12-08"
                  }
                },
                {
                  "name": "calculationInterval",
                  "type": "enum",
                  "required": true,
                  "multiple": false,
                  "options": [
                    "day",
                    "week",
                    "month"
                  ]
                },
                {
                  "name": "transactionTypes",
                  "type": "enum",
                  "required": false,
                  "multiple": true,
                  "options": [
                    "onramp",
                    "offramp",
                    "transfer"
                  ]
                },
                {
                  "name": "userIds",
                  "type": "uuid",
                  "required": false,
                  "multiple": true,
                  "optionsCount": 1000,
                  "optionsTruncated": true,
                  "optionsEndpoint": "/reporting/params/userIds/options"
                },
                {
                  "name": "breakdowns",
                  "type": "enum",
                  "required": false,
                  "multiple": true,
                  "constraints": {
                    "maxCount": 2
                  }
                },
                {
                  "name": "limit",
                  "type": "number",
                  "required": false,
                  "multiple": false,
                  "constraints": {
                    "min": 1,
                    "max": 10000
                  }
                }
              ],
              "rules": [
                "createdBefore must be after createdAfter"
              ],
              "breakdownOptions": [
                "transactionType",
                "transactionStatus",
                "userId"
              ]
            },
            {
              "template": "TRANSACTION_COUNT",
              "displayName": "Transaction Count",
              "description": "Aggregated count of transactions grouped by status and type over time.",
              "supportedParams": [
                {
                  "name": "createdAfter",
                  "type": "date",
                  "required": true,
                  "multiple": false,
                  "constraints": {
                    "minDate": "2024-07-01",
                    "maxDate": "2025-12-08"
                  }
                },
                {
                  "name": "createdBefore",
                  "type": "date",
                  "required": true,
                  "multiple": false,
                  "constraints": {
                    "maxDate": "2025-12-08"
                  }
                },
                {
                  "name": "calculationInterval",
                  "type": "enum",
                  "required": true,
                  "multiple": false,
                  "options": [
                    "day",
                    "week",
                    "month"
                  ]
                },
                {
                  "name": "transactionTypes",
                  "type": "enum",
                  "required": false,
                  "multiple": true,
                  "options": [
                    "onramp",
                    "offramp",
                    "transfer"
                  ]
                },
                {
                  "name": "transactionStatuses",
                  "type": "enum",
                  "required": false,
                  "multiple": true,
                  "options": [
                    "AWAITING_FUNDS",
                    "COMPLETED",
                    "CRYPTO_FAILED",
                    "CRYPTO_INITIATED",
                    "CRYPTO_PENDING",
                    "FAILED",
                    "FIAT_FAILED",
                    "FIAT_INITIATED",
                    "FIAT_PENDING",
                    "FIAT_PROCESSED",
                    "FIAT_RETURNED",
                    "INITIATED",
                    "NOT_INITIATED",
                    "PENDING",
                    "QUOTE_FAILED",
                    "REJECTED"
                  ]
                },
                {
                  "name": "userIds",
                  "type": "uuid",
                  "required": false,
                  "multiple": true,
                  "optionsCount": 1000,
                  "optionsTruncated": true,
                  "optionsEndpoint": "/reporting/params/userIds/options"
                },
                {
                  "name": "breakdowns",
                  "type": "enum",
                  "required": false,
                  "multiple": true,
                  "constraints": {
                    "maxCount": 2
                  }
                },
                {
                  "name": "limit",
                  "type": "number",
                  "required": false,
                  "multiple": false,
                  "constraints": {
                    "min": 1,
                    "max": 10000
                  }
                }
              ],
              "rules": [
                "createdBefore must be after createdAfter"
              ],
              "breakdownOptions": [
                "transactionType",
                "transactionStatus",
                "userId"
              ]
            },
            {
              "template": "NEW_USERS",
              "displayName": "New Users",
              "description": "Count of new unique end-users onboarded within the time period.",
              "supportedParams": [
                {
                  "name": "createdAfter",
                  "type": "date",
                  "required": true,
                  "multiple": false,
                  "constraints": {
                    "minDate": "2024-07-01",
                    "maxDate": "2025-12-08"
                  }
                },
                {
                  "name": "createdBefore",
                  "type": "date",
                  "required": true,
                  "multiple": false,
                  "constraints": {
                    "maxDate": "2025-12-08"
                  }
                },
                {
                  "name": "calculationInterval",
                  "type": "enum",
                  "required": true,
                  "multiple": false,
                  "options": [
                    "day",
                    "week",
                    "month"
                  ]
                },
                {
                  "name": "limit",
                  "type": "number",
                  "required": false,
                  "multiple": false,
                  "constraints": {
                    "min": 1,
                    "max": 10000
                  }
                }
              ],
              "rules": [
                "createdBefore must be after createdAfter"
              ],
              "breakdownOptions": null
            }
          ],
          "metadata": {
            "count": 3
          }
        }
      },
      "TemplateExample": {
        "summary": "Single metric template (GROSS_VOLUME)",
        "value": {
          "status": "success",
          "data": {
            "template": "GROSS_VOLUME",
            "displayName": "Gross Volume",
            "description": "Total combined USD-equivalent value of completed Onramp and Offramp transactions.",
            "supportedParams": [
              {
                "name": "createdAfter",
                "type": "date",
                "required": true,
                "multiple": false,
                "constraints": {
                  "minDate": "2024-07-01",
                  "maxDate": "2025-12-08"
                }
              },
              {
                "name": "createdBefore",
                "type": "date",
                "required": true,
                "multiple": false,
                "constraints": {
                  "maxDate": "2025-12-08"
                }
              },
              {
                "name": "calculationInterval",
                "type": "enum",
                "required": true,
                "multiple": false,
                "options": [
                  "day",
                  "week",
                  "month"
                ]
              },
              {
                "name": "transactionTypes",
                "type": "enum",
                "required": false,
                "multiple": true,
                "options": [
                  "onramp",
                  "offramp",
                  "transfer"
                ]
              },
              {
                "name": "userIds",
                "type": "uuid",
                "required": false,
                "multiple": true,
                "optionsCount": 1000,
                "optionsTruncated": true,
                "optionsEndpoint": "/reporting/params/userIds/options"
              },
              {
                "name": "breakdowns",
                "type": "enum",
                "required": false,
                "multiple": true,
                "constraints": {
                  "maxCount": 2
                }
              },
              {
                "name": "limit",
                "type": "number",
                "required": false,
                "multiple": false,
                "constraints": {
                  "min": 1,
                  "max": 10000
                }
              }
            ],
            "rules": [
              "createdBefore must be after createdAfter"
            ],
            "breakdownOptions": [
              "transactionType",
              "transactionStatus",
              "userId"
            ]
          },
          "metadata": {}
        }
      },
      "ParamOptionsUserIdsExample": {
        "summary": "User IDs parameter options (paginated)",
        "value": {
          "status": "success",
          "data": [
            "f6a78498-0994-5bea-b5ab-7d40a231217a",
            "c92f87e6-eaac-59a3-898f-d8c847553f5f",
            "fb0b02ed-6bcc-5724-8269-dcaeb6474be2",
            "b56ac719-efc3-5e40-b99f-2daf85d519dc",
            "2bbbda5d-0464-5748-801a-dae6ae3dbad9"
          ],
          "metadata": {
            "count": 5,
            "page": 1,
            "limit": 5,
            "total": 1000,
            "totalPages": 200,
            "hasMore": true
          }
        }
      },
      "ParamOptionsTransactionTypesExample": {
        "summary": "Transaction types parameter options",
        "value": {
          "status": "success",
          "data": [
            "onramp",
            "offramp",
            "transfer"
          ],
          "metadata": {
            "count": 3,
            "page": 1,
            "limit": 10,
            "total": 3,
            "totalPages": 1,
            "hasMore": false
          }
        }
      },
      "MetricResponseExample": {
        "summary": "Single saved metric",
        "value": {
          "status": "success",
          "data": {
            "id": "1154d700-bd7d-41d5-8676-87b541baa86e",
            "profileId": "e4c758d7-5475-4505-ba15-e129db0a441f",
            "template": "TRANSACTION_COUNT",
            "name": "Monthly Transfer Analysis",
            "params": {
              "createdAfter": "2025-01-01",
              "createdBefore": "2025-12-01",
              "calculationInterval": "month"
            },
            "createdAt": "2025-12-08T22:28:03.922Z",
            "updatedAt": "2025-12-08T22:28:03.922Z"
          },
          "metadata": {}
        }
      },
      "MetricListExample": {
        "summary": "List of saved metrics",
        "value": {
          "status": "success",
          "data": [
            {
              "id": "1154d700-bd7d-41d5-8676-87b541baa86e",
              "profileId": "e4c758d7-5475-4505-ba15-e129db0a441f",
              "template": "TRANSACTION_COUNT",
              "name": "Monthly Transfer Analysis",
              "params": {
                "createdAfter": "2025-01-01",
                "createdBefore": "2025-12-01",
                "calculationInterval": "month"
              },
              "createdAt": "2025-12-08T22:28:03.922Z",
              "updatedAt": "2025-12-08T22:28:03.922Z"
            },
            {
              "id": "d2872dce-d2d1-41ae-87a9-f773adbf97ca",
              "profileId": "e4c758d7-5475-4505-ba15-e129db0a441f",
              "template": "TRANSACTION_COUNT",
              "name": "Monthly Transfer Analysis",
              "params": {
                "breakdowns": [
                  "transactionType"
                ],
                "createdAfter": "2025-01-01",
                "createdBefore": "2025-12-01",
                "transactionStatuses": [
                  "COMPLETED"
                ],
                "calculationInterval": "month",
                "transactionTypes": [
                  "onramp",
                  "offramp"
                ]
              },
              "createdAt": "2025-12-08T22:26:45.765Z",
              "updatedAt": "2025-12-08T22:26:45.765Z"
            },
            {
              "id": "9106f8e2-188f-4854-99fc-cb21ef6b998d",
              "profileId": "e4c758d7-5475-4505-ba15-e129db0a441f",
              "template": "GROSS_VOLUME",
              "name": "Daily Revenue Report",
              "params": {
                "createdAfter": "2025-11-01",
                "createdBefore": "2025-11-07",
                "calculationInterval": "day",
                "transactionTypes": [
                  "onramp",
                  "offramp"
                ]
              },
              "createdAt": "2025-12-08T22:26:13.659Z",
              "updatedAt": "2025-12-08T22:26:13.659Z"
            }
          ],
          "metadata": {
            "count": 12,
            "profileId": "e4c758d7-5475-4505-ba15-e129db0a441f"
          }
        }
      },
      "CreateMetricRequestExample": {
        "summary": "Create metric request (GROSS_VOLUME)",
        "value": {
          "template": "GROSS_VOLUME",
          "name": "Daily Revenue Report",
          "params": {
            "createdAfter": "2025-11-01",
            "createdBefore": "2025-11-07",
            "calculationInterval": "day",
            "transactionTypes": [
              "onramp",
              "offramp"
            ]
          }
        }
      },
      "CreateMetricRequestWithBreakdownsExample": {
        "summary": "Create metric request (TRANSACTION_COUNT with breakdowns)",
        "value": {
          "template": "TRANSACTION_COUNT",
          "name": "Monthly Transfer Analysis",
          "params": {
            "createdAfter": "2025-01-01",
            "createdBefore": "2025-12-01",
            "calculationInterval": "month",
            "transactionTypes": [
              "onramp",
              "offramp"
            ],
            "transactionStatuses": [
              "COMPLETED"
            ],
            "breakdowns": [
              "transactionType"
            ]
          }
        }
      },
      "CreateMetricResponseExample": {
        "summary": "Created metric response",
        "value": {
          "status": "success",
          "data": {
            "id": "9106f8e2-188f-4854-99fc-cb21ef6b998d",
            "profileId": "e4c758d7-5475-4505-ba15-e129db0a441f",
            "template": "GROSS_VOLUME",
            "name": "Daily Revenue Report",
            "params": {
              "createdAfter": "2025-11-01",
              "createdBefore": "2025-11-07",
              "calculationInterval": "day",
              "transactionTypes": [
                "onramp",
                "offramp"
              ]
            },
            "createdAt": "2025-12-08T22:26:13.659Z",
            "updatedAt": "2025-12-08T22:26:13.659Z"
          },
          "metadata": {}
        }
      },
      "UpdateMetricRequestNameExample": {
        "summary": "Update metric name",
        "value": {
          "name": "An Updated Report Title"
        }
      },
      "UpdateMetricRequestParamsExample": {
        "summary": "Update metric parameters",
        "value": {
          "params": {
            "calculationInterval": "week"
          }
        }
      },
      "UpdateMetricResponseExample": {
        "summary": "Updated metric response",
        "value": {
          "status": "success",
          "data": {
            "id": "1154d700-bd7d-41d5-8676-87b541baa86e",
            "profileId": "e4c758d7-5475-4505-ba15-e129db0a441f",
            "template": "TRANSACTION_COUNT",
            "name": "An Updated Report Title",
            "params": {
              "createdAfter": "2025-01-01",
              "createdBefore": "2025-12-01",
              "calculationInterval": "week"
            },
            "createdAt": "2025-12-08T22:28:03.922Z",
            "updatedAt": "2025-12-08T22:33:04.112Z"
          },
          "metadata": {}
        }
      },
      "DeleteMetricResponseExample": {
        "summary": "Deleted metric response",
        "value": {
          "status": "success",
          "data": {
            "id": "1154d700-bd7d-41d5-8676-87b541baa86e",
            "profileId": "e4c758d7-5475-4505-ba15-e129db0a441f",
            "template": "TRANSACTION_COUNT",
            "name": "An Updated Report Title",
            "params": {
              "createdAfter": "2025-01-01",
              "createdBefore": "2025-12-01",
              "calculationInterval": "week"
            },
            "createdAt": "2025-12-08T22:28:03.922Z",
            "updatedAt": "2025-12-08T22:33:04.112Z"
          },
          "metadata": {}
        }
      },
      "PreviewMetricRequestGrossVolumeExample": {
        "summary": "Preview GROSS_VOLUME metric (no breakdowns)",
        "value": {
          "template": "GROSS_VOLUME",
          "params": {
            "createdAfter": "2025-11-01",
            "createdBefore": "2025-11-07",
            "calculationInterval": "day",
            "transactionTypes": [
              "onramp",
              "offramp"
            ]
          }
        }
      },
      "PreviewMetricResponseGrossVolumeNoBreakdownsExample": {
        "summary": "GROSS_VOLUME calculation result (no breakdowns)",
        "value": {
          "status": "success",
          "data": [
            {
              "periodStart": "2025-11-06",
              "grossVolume": 0
            },
            {
              "periodStart": "2025-11-05",
              "grossVolume": 0
            },
            {
              "periodStart": "2025-11-04",
              "grossVolume": 0
            },
            {
              "periodStart": "2025-11-03",
              "grossVolume": 0
            },
            {
              "periodStart": "2025-11-02",
              "grossVolume": 0
            },
            {
              "periodStart": "2025-11-01",
              "grossVolume": 0
            }
          ],
          "metadata": {
            "template": "GROSS_VOLUME",
            "recordCount": 6,
            "projectedRowCount": null,
            "filledCount": 6,
            "calculationInterval": "day",
            "dateRange": {
              "start": "2025-11-01",
              "end": "2025-11-07"
            },
            "filters": {
              "createdAfter": {
                "applied": "subset",
                "specified": true,
                "values": "2025-11-01"
              },
              "createdBefore": {
                "applied": "subset",
                "specified": true,
                "values": "2025-11-07"
              },
              "calculationInterval": {
                "applied": "subset",
                "specified": true,
                "values": "day"
              },
              "transactionTypes": {
                "applied": "subset",
                "specified": true,
                "count": 2,
                "values": [
                  "onramp",
                  "offramp"
                ]
              },
              "userIds": {
                "applied": "all",
                "specified": false,
                "count": 1000,
                "note": "1000 total (list omitted for brevity)"
              }
            },
            "breakdowns": null
          }
        }
      },
      "PreviewMetricRequestGrossVolumeMonthlyExample": {
        "summary": "Preview GROSS_VOLUME metric (monthly interval)",
        "value": {
          "template": "GROSS_VOLUME",
          "params": {
            "createdAfter": "2025-01-01",
            "createdBefore": "2025-12-01",
            "calculationInterval": "month",
            "transactionTypes": [
              "onramp",
              "offramp"
            ]
          }
        }
      },
      "PreviewMetricResponseGrossVolumeMonthlyExample": {
        "summary": "GROSS_VOLUME calculation result (monthly, with data)",
        "value": {
          "status": "success",
          "data": [
            {
              "periodStart": "2025-11-01",
              "grossVolume": 191
            },
            {
              "periodStart": "2025-10-01",
              "grossVolume": 124.05
            },
            {
              "periodStart": "2025-09-01",
              "grossVolume": 6707.86
            },
            {
              "periodStart": "2025-08-01",
              "grossVolume": 3066672.14
            },
            {
              "periodStart": "2025-07-01",
              "grossVolume": 199916.7
            },
            {
              "periodStart": "2025-06-01",
              "grossVolume": 24791
            },
            {
              "periodStart": "2025-05-01",
              "grossVolume": 57653
            },
            {
              "periodStart": "2025-04-01",
              "grossVolume": 54354.2
            },
            {
              "periodStart": "2025-03-01",
              "grossVolume": 0
            },
            {
              "periodStart": "2025-02-01",
              "grossVolume": 0
            },
            {
              "periodStart": "2025-01-01",
              "grossVolume": 0
            },
            {
              "periodStart": "2024-12-01",
              "grossVolume": 0
            }
          ],
          "metadata": {
            "template": "GROSS_VOLUME",
            "recordCount": 12,
            "projectedRowCount": null,
            "filledCount": 4,
            "calculationInterval": "month",
            "dateRange": {
              "start": "2025-01-01",
              "end": "2025-12-01"
            },
            "filters": {
              "createdAfter": {
                "applied": "subset",
                "specified": true,
                "values": "2025-01-01"
              },
              "createdBefore": {
                "applied": "subset",
                "specified": true,
                "values": "2025-12-01"
              },
              "calculationInterval": {
                "applied": "subset",
                "specified": true,
                "values": "month"
              },
              "transactionTypes": {
                "applied": "subset",
                "specified": true,
                "count": 2,
                "values": [
                  "onramp",
                  "offramp"
                ]
              },
              "userIds": {
                "applied": "all",
                "specified": false,
                "count": 1000,
                "note": "1000 total (list omitted for brevity)"
              }
            },
            "breakdowns": null
          }
        }
      },
      "PreviewMetricRequestTransfersWithBreakdownsExample": {
        "summary": "Preview TRANSACTION_COUNT metric (with multiple breakdowns)",
        "value": {
          "template": "TRANSACTION_COUNT",
          "params": {
            "createdAfter": "2025-11-01",
            "createdBefore": "2025-11-07",
            "calculationInterval": "day",
            "transactionTypes": [
              "onramp",
              "offramp"
            ],
            "transactionStatuses": [
              "COMPLETED",
              "FAILED"
            ],
            "breakdowns": [
              "transactionType",
              "transactionStatus"
            ]
          }
        }
      },
      "PreviewMetricResponseTransfersWithBreakdownsExample": {
        "summary": "TRANSACTION_COUNT calculation result (with breakdowns)",
        "value": {
          "status": "success",
          "data": [
            {
              "periodStart": "2025-11-06",
              "transactionType": "offramp",
              "transactionStatus": "FAILED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-06",
              "transactionType": "offramp",
              "transactionStatus": "COMPLETED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-06",
              "transactionType": "onramp",
              "transactionStatus": "FAILED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-06",
              "transactionType": "onramp",
              "transactionStatus": "COMPLETED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-05",
              "transactionType": "offramp",
              "transactionStatus": "FAILED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-05",
              "transactionType": "offramp",
              "transactionStatus": "COMPLETED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-05",
              "transactionType": "onramp",
              "transactionStatus": "FAILED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-05",
              "transactionType": "onramp",
              "transactionStatus": "COMPLETED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-04",
              "transactionType": "offramp",
              "transactionStatus": "FAILED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-04",
              "transactionType": "offramp",
              "transactionStatus": "COMPLETED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-04",
              "transactionType": "onramp",
              "transactionStatus": "FAILED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-04",
              "transactionType": "onramp",
              "transactionStatus": "COMPLETED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-03",
              "transactionType": "offramp",
              "transactionStatus": "FAILED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-03",
              "transactionType": "offramp",
              "transactionStatus": "COMPLETED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-03",
              "transactionType": "onramp",
              "transactionStatus": "FAILED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-03",
              "transactionType": "onramp",
              "transactionStatus": "COMPLETED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-02",
              "transactionType": "offramp",
              "transactionStatus": "FAILED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-02",
              "transactionType": "offramp",
              "transactionStatus": "COMPLETED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-02",
              "transactionType": "onramp",
              "transactionStatus": "FAILED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-02",
              "transactionType": "onramp",
              "transactionStatus": "COMPLETED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-01",
              "transactionType": "offramp",
              "transactionStatus": "FAILED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-01",
              "transactionType": "offramp",
              "transactionStatus": "COMPLETED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-01",
              "transactionType": "onramp",
              "transactionStatus": "FAILED",
              "transactionCount": 0
            },
            {
              "periodStart": "2025-11-01",
              "transactionType": "onramp",
              "transactionStatus": "COMPLETED",
              "transactionCount": 0
            }
          ],
          "metadata": {
            "template": "TRANSACTION_COUNT",
            "recordCount": 24,
            "projectedRowCount": 180,
            "filledCount": 24,
            "calculationInterval": "day",
            "dateRange": {
              "start": "2025-11-01",
              "end": "2025-11-07"
            },
            "filters": {
              "createdAfter": {
                "applied": "subset",
                "specified": true,
                "values": "2025-11-01"
              },
              "createdBefore": {
                "applied": "subset",
                "specified": true,
                "values": "2025-11-07"
              },
              "calculationInterval": {
                "applied": "subset",
                "specified": true,
                "values": "day"
              },
              "transactionTypes": {
                "applied": "subset",
                "specified": true,
                "count": 2,
                "values": [
                  "onramp",
                  "offramp"
                ]
              },
              "transactionStatuses": {
                "applied": "subset",
                "specified": true,
                "count": 2,
                "values": [
                  "COMPLETED",
                  "FAILED"
                ]
              },
              "userIds": {
                "applied": "all",
                "specified": false,
                "count": 1000,
                "note": "1000 total (list omitted for brevity)"
              },
              "breakdowns": {
                "applied": "subset",
                "specified": true,
                "count": 2,
                "values": [
                  "transactionType",
                  "transactionStatus"
                ]
              }
            },
            "breakdowns": {
              "dimensions": [
                "transactionType",
                "transactionStatus"
              ],
              "dimensionCounts": {
                "transactionType": 3,
                "transactionStatus": 10
              }
            }
          }
        }
      },
      "MetricResultsNewUsersExample": {
        "summary": "NEW_USERS metric results (no breakdowns)",
        "value": {
          "status": "success",
          "data": [
            {
              "periodStart": "2025-12-01",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-30",
              "newUserCount": 4
            },
            {
              "periodStart": "2025-11-29",
              "newUserCount": 4
            },
            {
              "periodStart": "2025-11-28",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-27",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-26",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-25",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-24",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-23",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-22",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-21",
              "newUserCount": 25
            },
            {
              "periodStart": "2025-11-20",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-19",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-18",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-17",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-16",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-15",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-14",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-13",
              "newUserCount": 3
            },
            {
              "periodStart": "2025-11-12",
              "newUserCount": 14
            },
            {
              "periodStart": "2025-11-11",
              "newUserCount": 4
            },
            {
              "periodStart": "2025-11-10",
              "newUserCount": 49
            },
            {
              "periodStart": "2025-11-09",
              "newUserCount": 4
            },
            {
              "periodStart": "2025-11-08",
              "newUserCount": 1
            },
            {
              "periodStart": "2025-11-07",
              "newUserCount": 6
            },
            {
              "periodStart": "2025-11-06",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-05",
              "newUserCount": 4
            },
            {
              "periodStart": "2025-11-04",
              "newUserCount": 3
            },
            {
              "periodStart": "2025-11-03",
              "newUserCount": 0
            },
            {
              "periodStart": "2025-11-01",
              "newUserCount": 0
            }
          ],
          "metadata": {
            "template": "NEW_USERS",
            "recordCount": 335,
            "projectedRowCount": null,
            "filledCount": 135,
            "calculationInterval": "day",
            "dateRange": {
              "start": "2025-01-01",
              "end": "2025-12-01"
            },
            "filters": {
              "createdAfter": {
                "applied": "subset",
                "specified": true,
                "values": "2025-01-01"
              },
              "createdBefore": {
                "applied": "subset",
                "specified": true,
                "values": "2025-12-01"
              },
              "calculationInterval": {
                "applied": "subset",
                "specified": true,
                "values": "day"
              }
            },
            "breakdowns": null,
            "metric": "testname123"
          }
        }
      },
      "MetricResultsGrossVolumeExample": {
        "summary": "GROSS_VOLUME metric results (no breakdowns, with metric name)",
        "value": {
          "status": "success",
          "data": [
            {
              "periodStart": "2025-11-06",
              "grossVolume": 0
            },
            {
              "periodStart": "2025-11-05",
              "grossVolume": 0
            },
            {
              "periodStart": "2025-11-04",
              "grossVolume": 0
            },
            {
              "periodStart": "2025-11-03",
              "grossVolume": 0
            },
            {
              "periodStart": "2025-11-02",
              "grossVolume": 0
            },
            {
              "periodStart": "2025-11-01",
              "grossVolume": 0
            }
          ],
          "metadata": {
            "template": "GROSS_VOLUME",
            "recordCount": 6,
            "projectedRowCount": null,
            "filledCount": 6,
            "calculationInterval": "day",
            "dateRange": {
              "start": "2025-11-01",
              "end": "2025-11-07"
            },
            "filters": {
              "createdAfter": {
                "applied": "subset",
                "specified": true,
                "values": "2025-11-01"
              },
              "createdBefore": {
                "applied": "subset",
                "specified": true,
                "values": "2025-11-07"
              },
              "calculationInterval": {
                "applied": "subset",
                "specified": true,
                "values": "day"
              },
              "transactionTypes": {
                "applied": "subset",
                "specified": true,
                "count": 2,
                "values": [
                  "onramp",
                  "offramp"
                ]
              },
              "userIds": {
                "applied": "all",
                "specified": false,
                "count": 1000,
                "note": "1000 total (list omitted for brevity)"
              }
            },
            "breakdowns": null,
            "metric": "Daily Revenue Report"
          }
        }
      },
      "ToSLinkObjectExample": {
        "summary": "ToS Link Object",
        "value": {
          "url": "https://dashboard.hifibridge.com/accept-terms-of-service?sessionToken=e12d9c3f-75a8-4bd1-aa3d-97a2cfaf2c40&redirectUrl=undefined&templateId=2fb2da24-472a-4e5b-b160-038d9dc82a40",
          "signedAgreementId": "e12d9c3f-75a8-4bd1-aa3d-97a2cfaf2c40"
        }
      },
      "TosLinkStatusObjectExample": {
        "summary": "ToS Link Status Object",
        "value": {
          "id": "e6e0de1d-7d0b-4935-ba1a-71906064067e",
          "createdAt": "2025-04-17T18:27:51.169Z",
          "expiredAt": "2025-04-22T18:27:51.091Z",
          "signed": true,
          "sessionToken": "e3a92e74-19e0-4137-ab75-ae537832f342"
        }
      },
      "WalletBalanceObjectExample": {
        "summary": "Wallet Balance Object",
        "value": {
          "balance": "0",
          "displayBalance": "0",
          "tokenInfo": {
            "tokenAddress": "0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582",
            "standard": "ERC20",
            "name": "USDC",
            "symbol": "USDC",
            "decimals": 6
          }
        }
      },
      "ExternalWalletObjectExample": {
        "summary": "External Wallet Object",
        "value": {
          "address": "0xFE5ea74612ba174BaF7FC4C45f05dB7fF73aBA21",
          "chain": "POLYGON",
          "name": "my-wallet",
          "referenceId": "my-wallet-reference-id",
          "createdAt": "2025-09-24T19:03:41.107Z"
        }
      },
      "ExternalWalletObjectListExample": {
        "summary": "External Wallet Object List",
        "value": {
          "count": 1,
          "wallets": [
            {
              "address": "0xFE5ea74612ba174BaF7FC4C45f05dB7fF73aBA21",
              "chain": "POLYGON",
              "name": "my-wallet",
              "referenceId": "my-wallet-reference-id",
              "createdAt": "2025-09-24T19:03:41.107Z"
            }
          ],
          "nextCursor": "2025-09-24T19:03:41.107Z"
        }
      },
      "WalletDepositObjectExample": {
        "summary": "Wallet Deposit Object",
        "value": {
          "userId": "f4c99c2f-ce05-4f61-8ed6-9064a5689197",
          "id": "2e084846-00d6-5e4c-806f-eac45e197108",
          "createdAt": "2025-06-25T15:47:16.983978+00:00",
          "updatedAt": "2025-06-25T15:47:16.983978+00:00",
          "wallet": {
            "id": "24b4917d-694e-4d81-ace8-9ba5261b6f4e",
            "address": "0x0B95D270400BE4319EAFbfDD82F6C38B59ab54Ef",
            "chain": "POLYGON",
            "walletType": "INDIVIDUAL"
          },
          "transaction": {
            "transactionHash": "0xe5284c4cb35ae9b5eb0ae23b840032f320b87b63f8967ee9b67ee09dfe6a194a",
            "chain": "POLYGON",
            "currency": "usdc",
            "status": "COMPLETED",
            "sourceAddress": "0x0B95D270400BE4319EAFbfDD82F6C38B59ab54Ef",
            "destinationAddress": "0x0B95D270400BE4319EAFbfDD82F6C38B59ab54Ef",
            "contractAddress": "0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582",
            "amount": "19",
            "unitAmount": "19000000"
          }
        }
      },
      "WalletDepositObjectListExample": {
        "summary": "Wallet Deposit Object List",
        "value": {
          "count": 1,
          "records": [
            {
              "userId": "f4c99c2f-ce05-4f61-8ed6-9064a5689197",
              "id": "2e084846-00d6-5e4c-806f-eac45e197108",
              "createdAt": "2025-06-25T15:47:16.983978+00:00",
              "updatedAt": "2025-06-25T15:47:16.983978+00:00",
              "wallet": {
                "id": "24b4917d-694e-4d81-ace8-9ba5261b6f4e",
                "address": "0x0B95D270400BE4319EAFbfDD82F6C38B59ab54Ef",
                "chain": "POLYGON",
                "walletType": "INDIVIDUAL"
              },
              "transaction": {
                "transactionHash": "0xe5284c4cb35ae9b5eb0ae23b840032f320b87b63f8967ee9b67ee09dfe6a194a",
                "chain": "POLYGON",
                "currency": "usdc",
                "status": "COMPLETED",
                "sourceAddress": "0x0B95D270400BE4319EAFbfDD82F6C38B59ab54Ef",
                "destinationAddress": "0x0B95D270400BE4319EAFbfDD82F6C38B59ab54Ef",
                "contractAddress": "0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582",
                "amount": "19",
                "unitAmount": "19000000"
              }
            }
          ],
          "nextCursor": "2025-06-25T15:47:16.983978+00:00"
        }
      },
      "UserObjectIndividualExample": {
        "summary": "User Object (Individual)",
        "value": {
          "id": "4d93ab4f-3983-4ac0-8c97-54bbc0f287fa",
          "createdAt": "2025-09-24T19:12:20.541Z",
          "type": "individual",
          "email": "john.doe@hifibridge.com",
          "name": "John Doe",
          "wallets": {
            "INDIVIDUAL": {
              "ETHEREUM": {
                "id": "24b4917d-694e-4d81-ace8-9ba0261b6f4e",
                "address": "0x43B343Bb48E23F58406271131B71448fF95787AD"
              },
              "POLYGON": {
                "id": "24b4917d-604e-4d81-ace8-9ba0261b6f4e",
                "address": "0x43B343Bb48E23F58406271131B71448fF95787AD"
              }
            }
          }
        }
      },
      "UserObjectBusinessExample": {
        "summary": "User Object (Business)",
        "value": {
          "id": "264484e0-979a-5fa3-9335-947f55e5999a",
          "createdAt": "2025-09-24T19:03:41.107Z",
          "type": "business",
          "email": "admin@randombizz.com",
          "name": "Random Bizz",
          "wallets": {
            "INDIVIDUAL": {
              "ETHEREUM": {
                "id": "24b4917d-604e-4d81-ace8-9ba0261b6f4e",
                "address": "0x2f78AEFA879819D7a5C9a87fE8BF5e7B961f5500"
              },
              "POLYGON": {
                "id": "24b4917d-604e-4d81-ace8-9ba0261b6f4e",
                "address": "0x2f78AEFA879819D7a5C9a87fE8BF5e7B961f5500"
              }
            }
          }
        }
      },
      "UserObjectListExample": {
        "summary": "User Object List",
        "value": {
          "count": 2,
          "users": [
            {
              "id": "4d93ab4f-3983-4ac0-8c97-54bbc0f287fa",
              "createdAt": "2025-09-24T19:12:20.541Z",
              "type": "individual",
              "email": "john.doe@hifibridge.com",
              "name": "John Doe",
              "wallets": {
                "INDIVIDUAL": {
                  "ETHEREUM": {
                    "id": "24b4917d-604e-4d81-ace8-9ba0261b6f4e",
                    "address": "0x43B343Bb48E23F58406271131B71448fF95787AD"
                  },
                  "POLYGON": {
                    "id": "24b4917d-604e-4d81-ace8-9ba0261b6f4e",
                    "address": "0x43B343Bb48E23F58406271131B71448fF95787AD"
                  }
                }
              }
            },
            {
              "id": "264484e0-979a-5fa3-9335-947f55e5999a",
              "createdAt": "2025-09-24T19:03:41.107Z",
              "type": "business",
              "email": "admin@randombizz.com",
              "name": "Random Bizz",
              "wallets": {
                "INDIVIDUAL": {
                  "ETHEREUM": {
                    "id": "24b4917d-604e-4d81-ace8-9ba0261b6f4e",
                    "address": "0x2f78AEFA879819D7a5C9a87fE8BF5e7B961f5500"
                  },
                  "POLYGON": {
                    "id": "24b4917d-604e-4d81-ace8-9ba0261b6f4e",
                    "address": "0x2f78AEFA879819D7a5C9a87fE8BF5e7B961f5500"
                  }
                }
              }
            }
          ],
          "nextCursor": "2025-09-24T19:03:41.107Z"
        }
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/v2/users/{userId}/accounts": {
      "post": {
        "summary": "Create an account",
        "description": "Create an onramp or offramp account for different account types by providing your bank account information.\n",
        "tags": [
          "Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateAccountBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CreateAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all accounts",
        "description": "List all accounts associated with a user under your organization.",
        "tags": [
          "Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/AccountRailOptionalParameter"
          },
          {
            "$ref": "#/components/parameters/AccountTypeOptionalParameter"
          },
          {
            "$ref": "#/components/parameters/CurrencyAnyOptionalParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllAccountsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/accounts/{accountId}": {
      "get": {
        "summary": "Retrieve an account",
        "description": "Get an existing onramp or offramp account detail.",
        "tags": [
          "Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/AccountIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "delete": {
        "summary": "Delete an account",
        "description": "Delete an existing onramp or offramp account.",
        "tags": [
          "Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/AccountIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeleteAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/virtual-accounts": {
      "post": {
        "summary": "Create a virtual account",
        "description": "Generate a virtual bank account to onramp from `sourceCurrency` to `destinationCurrency` on chain `destinationChain`. (note: virtual accounts are billable)\n",
        "tags": [
          "Virtual Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateVirtualAccountBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CreateVirtualAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all virtual accounts",
        "description": "List all virtual accounts associated with a user under your organization.",
        "tags": [
          "Virtual Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/VASourceCurrencyParameter"
          },
          {
            "$ref": "#/components/parameters/VADestinationCurrencyParameter"
          },
          {
            "$ref": "#/components/parameters/VADestinationChainParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllVirtualAccountsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/virtual-accounts/{accountId}": {
      "get": {
        "summary": "Retrieve a virtual account",
        "description": "Get an existing virtual bank account detail.",
        "tags": [
          "Virtual Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/VirtualAccountIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/VALimitParameter"
          },
          {
            "$ref": "#/components/parameters/VACreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/VACreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetVirtualAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/virtual-accounts/{accountId}/update": {
      "post": {
        "summary": "Update a virtual account",
        "description": "Update an existing virtual account.\n",
        "tags": [
          "Virtual Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/VirtualAccountIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateVirtualAccountBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UpdateVirtualAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/virtual-accounts/{accountId}/deactivate": {
      "post": {
        "summary": "Deactivate a virtual account",
        "description": "Deactivate an existing virtual account.",
        "tags": [
          "Virtual Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/VirtualAccountIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeactivateVirtualAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/virtual-accounts/{accountId}/reactivate": {
      "post": {
        "summary": "Reactivate a virtual account",
        "description": "Reactivate an existing virtual account.",
        "tags": [
          "Virtual Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/VirtualAccountIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ReactivateVirtualAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/virtual-accounts/{accountId}/simulate-deposit": {
      "post": {
        "summary": "Simulate a deposit to a virtual account",
        "description": "Simulate a deposit to a virtual account in sandbox environment. This endpoint is only available in sandbox and allows testing deposit flows.\n\n**Note:** This endpoint is only available in sandbox environment.\n",
        "tags": [
          "Virtual Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/VirtualAccountIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SimulateVirtualAccountDepositBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/SimulateVirtualAccountDepositResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/virtual-accounts/settlement-rules/{ruleId}": {
      "get": {
        "summary": "Retrieve a settlement rule",
        "description": "Get an existing settlement rule detail.",
        "tags": [
          "Settlement Rules"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/RuleIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetSettlementRuleResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "delete": {
        "summary": "Delete a settlement rule",
        "description": "Delete an existing settlement rule.",
        "tags": [
          "Settlement Rules"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/RuleIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeleteSettlementRuleResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/virtual-accounts/settlement-rules": {
      "post": {
        "summary": "Create a settlement rule",
        "description": "Create a new settlement rule for virtual accounts. Settlement rules define how fees are calculated and distributed when processing an onramp transaction.\n",
        "tags": [
          "Settlement Rules"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateSettlementRuleBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CreateSettlementRuleResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all settlement rules",
        "description": "List all settlement rules available for virtual accounts.",
        "tags": [
          "Settlement Rules"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SettlementRuleLimitParameter"
          },
          {
            "$ref": "#/components/parameters/SettlementRuleCreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/SettlementRuleCreatedAfterParameter"
          },
          {
            "$ref": "#/components/parameters/SettlementRuleChainParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllSettlementRulesResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/virtual-accounts/settlement-rules/{ruleId}/update": {
      "post": {
        "summary": "Update a settlement rule",
        "description": "Update an existing settlement rule. This will replace all existing rules with the new configuration.\n",
        "tags": [
          "Settlement Rules"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/RuleIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateSettlementRuleBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UpdateSettlementRuleResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/virtual-accounts/{accountId}/settlement-rules/{ruleId}": {
      "post": {
        "summary": "Apply settlement rule to virtual account",
        "description": "Apply a settlement rule to a specific virtual account. This will enable the fee structure defined in the rule for transactions on that account.\n",
        "tags": [
          "Settlement Rules"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/VirtualAccountIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/RuleIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ApplySettlementRuleResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/virtual-accounts/{accountId}/settlement-rules": {
      "delete": {
        "summary": "Remove settlement rule from virtual account",
        "description": "Remove a settlement rule from a specific virtual account. This will disable the fee structure for that account.\n",
        "tags": [
          "Settlement Rules"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/VirtualAccountIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RemoveSettlementRuleResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/{walletId}/offers": {
      "get": {
        "summary": "List all offers for a wallet",
        "description": "Retrieve all Canton offers associated with a specific wallet. Offers can be filtered by creation date and limited by count.\n",
        "tags": [
          "Canton Offers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/WalletIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllCantonOffersResponse"
          },
          "400": {
            "$ref": "#/components/responses/FieldValidationErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/{walletId}/offers/{offerId}": {
      "get": {
        "summary": "Retrieve a Canton offer",
        "description": "Get details of a specific Canton offer by its ID. The offer must belong to the specified wallet.\n",
        "tags": [
          "Canton Offers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/WalletIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OfferIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetCantonOfferResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/{walletId}/offers/{offerId}/accept": {
      "post": {
        "summary": "Accept a Canton offer",
        "description": "Accept a Canton offer. The offer must be in RECEIVED status and not expired. Upon acceptance, the offer status will change to PENDING and a job will be created to process the acceptance.\n",
        "tags": [
          "Canton Offers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/WalletIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OfferIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AcceptCantonOfferResponse"
          },
          "400": {
            "$ref": "#/components/responses/InvalidOfferErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/{walletId}/offers/{offerId}/reject": {
      "post": {
        "summary": "Reject a Canton offer",
        "description": "Reject a Canton offer. The offer must be in RECEIVED status and not expired. Upon rejection, the offer status will change to PENDING and a job will be created to process the rejection.\n",
        "tags": [
          "Canton Offers"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/WalletIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OfferIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/RejectCantonOfferResponse"
          },
          "400": {
            "$ref": "#/components/responses/InvalidOfferErrorResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/ping": {
      "get": {
        "summary": "Ping",
        "tags": [
          "Common"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/PingResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/external-accounts": {
      "post": {
        "summary": "Create an external account",
        "description": "Create a new external bank account for offramp transfers. External accounts represent beneficiary bank accounts where funds can be sent.\n\nThe account will be validated and registered with the appropriate payment provider based on the specified rail and destination country/currency.\n",
        "tags": [
          "External Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateExternalAccountBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CreateExternalAccountResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all external accounts",
        "description": "List all external accounts associated with a user. Supports cursor-based pagination.",
        "tags": [
          "External Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetAllExternalAccountsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/external-accounts/{accountId}": {
      "get": {
        "summary": "Retrieve an external account",
        "description": "Get details of a specific external account.",
        "tags": [
          "External Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/ExternalAccountIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/GetExternalAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "delete": {
        "summary": "Delete an external account",
        "description": "Soft delete an external account. The account will be marked as inactive and can no longer be used for transfers.",
        "tags": [
          "External Account"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/ExternalAccountIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeleteExternalAccountResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/files": {
      "post": {
        "summary": "Upload a file",
        "description": "Upload a file.\n",
        "tags": [
          "File"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/FileUploadBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/FileUploadResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/kyc": {
      "post": {
        "summary": "Update KYC information",
        "description": "Update the user's KYC information.\n\nThe Update KYC endpoint allows you to add or modify the user's existing KYC data. This is the only endpoint available for making changes to the user's KYC information.\n\nHIFI does not provide services to users or businesses from sanctioned and high-risk regions or unsupported US states. See [here](https://docs.hifi.com/docs/compliance/regions) for supported regions.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/KycUpdateBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/KycObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "Retrieve KYC information",
        "description": "Get the KYC information the user currently holds.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/KycObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/kyc/requirements": {
      "get": {
        "summary": "Retrieve KYC requirements",
        "description": "Get the required and optional KYC fields for a specific rail, along with any invalid KYC fields currently held by the user for unlocking the rail.\n\nThe Get KYC Requirements endpoint provides a comprehensive list of required and optional KYC fields needed to initiate a KYC submission (the same set of info available in our [Compliance Guide](https://docs.hifi.com/docs/rails/overview)). \nAdditionally, it identifies any invalid fields in the user's current KYC data that need to be updated before submission. This is particularly useful for pre-filling KYC forms and addressing issues proactively.\n\nThis endpoint is intended **only** for use **before** KYC submission. After submitting KYC data, use the [Retrieve KYC status](https://docs.hifi.com/api-reference/kyc/retrieve-kyc-status) endpoint to check the submission status and further identify any fields that may still require updates.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/RailsTypeParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/KycRequirementResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/kyc/submissions": {
      "post": {
        "summary": "Submit KYC",
        "description": "Submit the user's current KYC data to unlock a specific rail. Any updates to the user's KYC data prior to submission should be made using the [Update KYC](https://docs.hifi.com/api-reference/kyc/update-kyc-information) endpoint.)      \n\nThe KYC data will only be submitted if all the required KYC fields for the rail are provided. If any required fields are missing, no submission will occur, and the user must supply the missing information using the [Update KYC](https://docs.hifi.com/api-reference/kyc/update-kyc-information) endpoint.\n\nA successful submission is confirmed when the response includes a KYC status object. If no such object is returned, the submission did not occur.\n\nFor more details on required and optional KYC fields for unlocking each rail, visit our [KYC Rails Requirement page](https://docs.hifi.com/docs/rails/overview).\nTo learn more about KYC, our KYC endpoints, and an example flow for unlocking a rail, see our [KYC Overview page](https://docs.hifi.com/guides/usd-rail/submit-kyb).\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/RailsBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/KycStatusSubmitResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/kyc/import-token": {
      "post": {
        "summary": "Import KYC token",
        "description": "Import a KYC token from a supported provider to transfer a user's existing KYC verification into HIFI.\n\nThis endpoint allows clients to onboard users who have already completed KYC with a supported provider (e.g. Sumsub) by importing their verification token directly, avoiding duplicate data collection.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/ImportKycTokenBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/KycStatusSubmitResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/kyc/status": {
      "get": {
        "summary": "Retrieve KYC status",
        "description": "Get the user's latest KYC status for a specific rail after a KYC submission. If no KYC submission has been made for the rail, it will have an `INACTIVE` status.\n\nThe Get KYC Status endpoint provides the current KYC status of a rail, including details on any invalid or incomplete fields that may require updates. \nTo address any invalid or incomplete fields, use the [Update KYC endpoint](https://docs.hifi.com/api-reference/kyc/update-kyc-information), and then resubmit the data using the [Submit KYC endpoint](https://docs.hifi.com/api-reference/kyc/submit-kyc).\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/RailsTypeOptionalParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/KycStatusResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/kyc/status": {
      "get": {
        "summary": "List all KYC statuses",
        "description": "List all KYC statuses based on the provided filters.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdOptionalParameter"
          },
          {
            "$ref": "#/components/parameters/UserNameParameter"
          },
          {
            "$ref": "#/components/parameters/UserEmailV2Parameter"
          },
          {
            "$ref": "#/components/parameters/RailsTypeOptionalParameter"
          },
          {
            "$ref": "#/components/parameters/KycStatusArrayOptionalParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AllKycStatusesResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/kyc-link": {
      "post": {
        "summary": "Generate a KYC link",
        "description": "Generate a KYC link to create a user, unlock rails for a user, or submit KYC for a user.\n\nThis endpoint allows you to generate a HIFI-hosted KYC link that can be shared with users to collect their KYC information. The collected data can be used for User Creation, KYC Submission, or unlocking KYC rails for the user.\n",
        "tags": [
          "Kyc"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/KycLinkBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/KycLinkResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/kyc/ubos": {
      "post": {
        "summary": "Add a UBO",
        "description": "Add a UBO to the user.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/AddUboBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UboObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all UBOs",
        "description": "Get all UBOs associated with the user.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/UboObjectAllRecordsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/kyc/ubos/{uboId}": {
      "post": {
        "summary": "Update a UBO",
        "description": "Update a UBO for the user.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/UboIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateUboBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UboObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "Retrieve a UBO",
        "description": "Get a specific UBO associated with the user.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/UboIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/UboObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/kyc/documents": {
      "post": {
        "summary": "Add documents",
        "description": "Add documents to the user's KYC.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/AddDocumentBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/DocumentObjectAllRecordsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all documents",
        "description": "Get all documents associated with the user.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DocumentObjectAllRecordsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/kyc/documents/{documentId}": {
      "post": {
        "summary": "Update a document",
        "description": "Update a document for the user.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/DocumentIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateDocumentBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/DocumentObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "Retrieve a document",
        "description": "Get a specific document associated with the user or ubo.\n",
        "tags": [
          "Kyc"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/DocumentIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DocumentObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/offramps": {
      "post": {
        "summary": "Create an offramp",
        "description": "\nAn offramp facilitates the conversion of crypto to fiat. Once the crypto transfer is confirmed, HIFI will deposit the converted fiat into the receiving user’s bank account. \n\nThere are two types of offramp:\n\n* **Quote-based offramp**: This type of offramp first returns the conversion rate quote based on the best market rate, which you can accept through the [Accept an offramp quote](https://docs.hifi.com/api-reference/offramp/accept-an-offramp-quote) endpoint to initiate the offramp.  \n To learn more about quote-based offramps, click [here](https://docs.hifi.com/guides/transfers/onramps/usd-usdc).\n\n* **Non-quote-based offramp**: This type of offramp will be initiated immediately upon creating an offramp.\n",
        "tags": [
          "Offramp"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateOfframpBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CryptoToFiatTransferResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all offramps",
        "description": "Returns a list of offramps associated with a user under your organization. The offramps are returned sorted by creation date, with the most recent offramps appearing first.\n",
        "tags": [
          "Offramp"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdOptionalParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CryptoToFiatAllRecordsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/offramps/{transferId}": {
      "get": {
        "summary": "Retrieve an offramp",
        "description": "Retrieves an offramp.",
        "tags": [
          "Offramp"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OfframpRecordIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CryptoToFiatRecordResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/offramps/{transferId}/quote/accept": {
      "post": {
        "summary": "Accept an offramp quote",
        "description": "Accept and initiate a quote-based offramp.\n\nFor example, an offramp from crypto currency `usdc` to fiat currency `brl` is quote-based so its initial status will be `OPEN_QUOTE`. After reviewing the offramp conversion rate quote information, you can accept it to initialize the offramp.\n",
        "tags": [
          "Offramp"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OfframpRecordIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CryptoToFiatAcceptQuoteResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/offramps/{transferId}/cancel": {
      "post": {
        "summary": "Cancel an offramp",
        "description": "Cancel an offramp that is in review. Only offramps with status `IN_REVIEW` can be cancelled.\n",
        "tags": [
          "Offramp"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OfframpRecordIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CancelOfframpResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/offramps/rates": {
      "get": {
        "summary": "Retrieve an offramp rate",
        "description": "Offramp rates are estimated rates for offramp conversions from different cryptocurrencies on different networks into all the different fiat currencies.\n",
        "tags": [
          "Offramp"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FromCryptoCurrencyParameter"
          },
          {
            "$ref": "#/components/parameters/ToFiatCurrencyParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CryptoToFiatConversionRateResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/transfers": {
      "post": {
        "summary": "Create a crypto transfer",
        "description": "Create a crypto transfer between two wallet addresses among users.\n",
        "tags": [
          "Crypto Transfer"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateCryptoTransferBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CryptoToCryptoTransferResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all crypto transfers",
        "description": "Returns a list of crypto transfers associated with a user under your organization. The crypto transfers are returned sorted by creation date, with the most recent crypto transfers appearing first.\n",
        "tags": [
          "Crypto Transfer"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdOptionalParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CryptoToCryptoAllRecordsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/transfers/{transferId}": {
      "get": {
        "summary": "Retrieve a crypto transfer",
        "tags": [
          "Crypto Transfer"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CryptoTransferRecordIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CryptoToCryptoRecordResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/transfers/{transferId}/cancel": {
      "post": {
        "summary": "Cancel a crypto transfer",
        "description": "Cancel a pending crypto transfer on Canton chain. Only transfers with status PENDING can be cancelled.\n",
        "tags": [
          "Crypto Transfer"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/CryptoTransferRecordIDPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CancelCryptoTransferBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/CancelCryptoTransferResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/bridges": {
      "post": {
        "summary": "Create a bridging request",
        "description": "Create a bridging request to bridge crypto assets across chains.",
        "tags": [
          "Cross-Chain Bridge"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateBridgingRequestBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/BridgeAssetTransferResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all bridging requests",
        "description": "Returns a list of bridging requests associated with a user under your organization.\n",
        "tags": [
          "Cross-Chain Bridge"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdOptionalParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BridgeAssetAllRecordsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/bridges/{transferId}/accept": {
      "post": {
        "summary": "Accept a bridging request",
        "description": "Accept a bridging request to initialize the bridging of crypto assets across chains.\n",
        "tags": [
          "Cross-Chain Bridge"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BridgingRequestIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BridgeAssetTransferResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/bridges/{transferId}": {
      "get": {
        "summary": "Retrieve a bridging request",
        "tags": [
          "Cross-Chain Bridge"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BridgingRequestIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BridgeAssetRecordResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/transfers/batches": {
      "post": {
        "summary": "Create a batch crypto transfer",
        "description": "Create a batch crypto transfer from a single wallet address to multiple wallet addresses among users.\n",
        "tags": [
          "Crypto Transfer"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateBatchCryptoTransferBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/BatchCryptoTransferResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all batch crypto transfers",
        "description": "Returns a list of batch crypto transfers associated with a user under your organization. The batch crypto transfers are returned sorted by creation date, with the most recent batch crypto transfers appearing first.\n",
        "tags": [
          "Crypto Transfer"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdOptionalParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BatchCryptoTransferAllRecordsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/transfers/batches/{transferId}": {
      "get": {
        "summary": "Retrieve a batch crypto transfer",
        "tags": [
          "Crypto Transfer"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/BatchCryptoTransferRecordIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/BatchCryptoTransferResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/swaps": {
      "post": {
        "summary": "Create a swap",
        "description": "Create a swap request to exchange one cryptocurrency for another within the same chain or across chains.\n",
        "tags": [
          "Token Swap"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateWalletSwapBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/WalletSwapResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all swaps",
        "description": "Returns a list of swaps associated with a user under your organization. The swaps are returned sorted by creation date, with the most recent swaps appearing first.\n",
        "tags": [
          "Token Swap"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdOptionalParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WalletSwapAllRecordsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/swaps/rate": {
      "get": {
        "summary": "Retrieve a swap rate",
        "description": "Get the current market rate for swapping an amount of sourceCurrency into destinationCurrency. Currently only supported between usdc and usdt.\n",
        "tags": [
          "Token Swap"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SwapRateSourceCurrencyParameter"
          },
          {
            "$ref": "#/components/parameters/SwapRateDestinationCurrencyParameter"
          },
          {
            "$ref": "#/components/parameters/SwapRateAmountParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WalletSwapRateResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/swaps/{swapId}": {
      "get": {
        "summary": "Retrieve a swap",
        "description": "Retrieve details of a specific swap by its ID.\n",
        "tags": [
          "Token Swap"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SwapTransferIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WalletSwapResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/swaps/{swapId}/accept": {
      "post": {
        "summary": "Accept a swap",
        "description": "Accept a swap request to execute the cryptocurrency exchange.\n",
        "tags": [
          "Token Swap"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SwapTransferIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WalletSwapResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/wallets/swaps/{swapId}/cancel": {
      "post": {
        "summary": "Request swap cancellation",
        "description": "Request cancellation of a swap while it is still cancellable. A successful\nresponse confirms that the cancellation request was recorded; it does not\nguarantee that the swap has already reached the terminal `CANCELLED` status.\n",
        "tags": [
          "Token Swap"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SwapTransferIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WalletSwapResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/onramps": {
      "post": {
        "summary": "Create an onramp",
        "description": "\nAn onramp facilitates the conversion of fiat to crypto. Once the fiat payment is received, HIFI will deliver the converted crypto to the receiving user’s wallet.\n\nThere are two types of onramp:\n\n* **Quote-based onramp**: This type of onramp first returns the conversion rate quote based on the best market rate, which you can accept through the [Accept an onramp quote](https://docs.hifi.com/api-reference/onramp/accept-an-onramp-quote) endpoint to initiate the onramp.  \n  Additionally, you can also refresh the onramp quote using the [Refresh an onramp quote](https://docs.hifi.com/api-reference/onramp/refresh-an-onramp-quote) endpoint to refresh the conversion rate associated with the onramp. To learn more about quote-based onramps, click [here](https://docs.hifi.com/guides/transfers/onramps/usd-usdc).\n\n* **Non-quote-based onramp**: This type of onramp will be initiated immediately upon creating an onramp.\n",
        "tags": [
          "Onramp"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateOnrampBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/FiatToCryptoTransferResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all onramps",
        "description": "Returns a list of onramps associated with a user under your organization. The onramps are returned sorted by creation date, with the most recent onramps appearing first.\n",
        "tags": [
          "Onramp"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdOptionalParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/FiatToCryptoAllRecordsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/onramps/{transferId}": {
      "get": {
        "summary": "Retrieve an onramp",
        "description": "Retrieves an onramp.",
        "tags": [
          "Onramp"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OnrampRecordIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/FiatToCryptoRecordResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/onramps/{transferId}/quote/accept": {
      "post": {
        "summary": "Accept an onramp quote",
        "description": "Accept a quote-based onramp.\n\nFor example, an onramp from fiat currency `brl` to crypto currency `usdc` is quote-based so its initial status will be `OPEN_QUOTE`. After reviewing the onramp conversion rate quote information, you can accept it to initialize the onramp.\n",
        "tags": [
          "Onramp"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OnrampRecordIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/FiatToCryptoAcceptQuoteResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/onramps/{transferId}/quote/refresh": {
      "post": {
        "summary": "Refresh an onramp quote",
        "description": "Refresh the conversion rate quote that is associated with a quote-based onramp. You can only refresh an onramp quote with the status `OPEN_QUOTE`.\n",
        "tags": [
          "Onramp"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OnrampRecordIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/FiatToCryptoRefreshQuoteResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/onramps/{transferId}/cancel": {
      "post": {
        "summary": "Cancel an onramp",
        "description": "Cancel an onramp that is in review. Only onramps with status `IN_REVIEW` can be cancelled.\n",
        "tags": [
          "Onramp"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/OnrampRecordIDPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CancelOnrampResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/onramps/rates": {
      "get": {
        "summary": "Retrieve an onramp rate",
        "description": "Onramp rates are estimated rates for onramp conversions from different fiat currencies into different cryptocurrencies.\n",
        "tags": [
          "Onramp"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/FromFiatCurrencyParameter"
          },
          {
            "$ref": "#/components/parameters/ToCryptoCurrencyParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/FiatToCryptoConversionRateResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/orchestration-addresses": {
      "post": {
        "summary": "Create an orchestration address",
        "description": "Create a persistent on-chain wallet that automatically offramps any\nstablecoin deposit to a USD bank account.\n\nThe endpoint provisions the escrow wallet synchronously, so the response\ntypically already carries `status=ACTIVE` and a populated `address`. If\nthe provider call is mid-flight, `status=PENDING_WALLET` and `address=null`\n— retry the same call (same `requestId`) to drive provisioning forward.\n\n**Idempotency.** Repeating the same `requestId` with an identical payload\nreturns the existing record (200). Repeating it with a *different* payload\nreturns `409 RESOURCE_CONFLICT` indicating which field differs (e.g.\n`requestId already used with a different source.chain`).\n\n**Mode rules:**\n  * `PER_DEPOSIT` — each deposit is batched into its own offramp immediately, unless it's below the destination rail's offramp minimum, in which case it's held `PENDING` until the cumulative pending reaches the minimum, then batched together.\n  * `SCHEDULED` — deposits accumulate until the next `HOURLY`/`DAILY`/`WEEKLY` tick.\n  * `THRESHOLD` — deposits accumulate until `thresholdAmount` is reached.\n\n**Source & minimums.** `source.currency` must be supported on `source.chain`\n(e.g. USDT on TRON, USDC on Base/Polygon/Ethereum/Solana) — unsupported pairs\nlike USDC on TRON return `400`. Each rail also has a minimum offramp amount\n(e.g. ≥ 5 for SWIFT, ≥ 1 for wire/ACH/RTP; USDT ≥ 10); `THRESHOLD`'s\n`thresholdAmount` must meet it.\n\nSee the schema description on `CreateOrchestrationAddress` for the exact\nfield-combination rules.\n",
        "tags": [
          "Orchestration Address"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationProfileIdQueryParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateOrchestrationAddressBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/OrchestrationAddressResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List orchestration addresses",
        "description": "Return all orchestration addresses owned by the user, most recent first.\nIncludes both `ACTIVE` and `DEACTIVATED` addresses.\n",
        "tags": [
          "Orchestration Address"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationCreatedBeforeQueryParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationLimitQueryParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/OrchestrationAddressAllRecordsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/orchestration-addresses/{orchestrationAddressId}": {
      "get": {
        "summary": "Retrieve an orchestration address",
        "description": "Fetch a single orchestration address by ID. Returns `404 RESOURCE_NOT_FOUND`\nif the address doesn't exist *or* doesn't belong to the specified user —\nthe API never discloses whether a foreign address exists.\n",
        "tags": [
          "Orchestration Address"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationAddressIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/OrchestrationAddressResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/orchestration-addresses/{orchestrationAddressId}/update": {
      "post": {
        "summary": "Update an orchestration address",
        "description": "Partial update of an existing orchestration address. Any combination of\n`mode`, `schedule`, `thresholdAmount`, `offrampMessage`, and `destination.accountId` may\nbe passed.\n\n**Behavior notes:**\n  * Switching mode wipes the irrelevant config columns.\n  * Changing `schedule.interval` without an explicit `nextRunAt` resets the next tick to `now + newInterval`.\n  * Changing `destination.accountId` re-validates the new account.\n  * Queued batches use the current settings when the worker reads the OA to begin creating their offramp. Later edits do not change that attempt or the saved message of an initialized offramp, including on retry.\n\nCannot update a `DEACTIVATED` address — returns `400 RESOURCE_CONFLICT`.\nIf the destination, message, mode, or status changes after validation but before\nthe update is saved, returns `409 RESOURCE_CONFLICT`; reload the settings and retry.\n",
        "tags": [
          "Orchestration Address"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationAddressIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateOrchestrationAddressBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/OrchestrationAddressResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/ConflictResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/orchestration-addresses/{orchestrationAddressId}/deactivate": {
      "post": {
        "summary": "Deactivate an orchestration address",
        "description": "Soft-delete the address: sets `status=DEACTIVATED` and `deactivatedAt=now()`.\nRequires a `walletAddress` in the body — any deposits still `PENDING` (not yet\nrolled into a batch) are refunded in-kind to it. The claim and refund run\natomically under the address row lock, so a deposit can never be both\nofframped and refunded. Idempotent — calling on an already-deactivated address\nreturns 200 with the current record and issues no second refund.\n\n**After deactivation:**\n  * The on-chain wallet still exists and can receive funds (we can't take it offline).\n  * Incoming deposits are recorded with `status=IGNORED` and `ignoredReason=ADDRESS_DEACTIVATED`. A Slack alert fires for manual ops follow-up. These are NOT auto-refunded — only the deposits that were `PENDING` at deactivation are.\n  * The escrow wallet stays locked to this address (it's never returned to the general allocation pool).\n  * Batches already in `PROCESSING` continue to completion; batches still `PENDING` will be marked `FAILED` with `failureReason=ADDRESS_NOT_ACTIVE` on the next worker tick.\n",
        "tags": [
          "Orchestration Address"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationAddressIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/DeactivateOrchestrationAddressBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/OrchestrationAddressResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/orchestration-addresses/{orchestrationAddressId}/orchestrate": {
      "post": {
        "summary": "Manually trigger an orchestration",
        "description": "Force an immediate batch of all currently-`PENDING` deposits for the\naddress, regardless of the configured mode. Useful for `SCHEDULED`\naddresses that you want to drain ahead of schedule, for `THRESHOLD`\naddresses that haven't crossed yet, or simply for operational backfill.\n\n**Idempotent.** If no PENDING deposits exist (or the address was\ndeactivated between the read and the row lock), returns 200 with\n`triggered: false` and a `reason`.\n\nFor `SCHEDULED` addresses, manual trigger does NOT advance\n`nextRunAt` — the scheduled tick still fires at its appointed time\n(it'll find zero PENDING deposits and no-op).\n\nThe endpoint serializes against concurrent THRESHOLD webhooks and the\nSCHEDULED job via a `FOR UPDATE` row lock, so at most one batch is ever\nproduced for a given set of PENDING deposits.\n",
        "tags": [
          "Orchestration Address"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationAddressIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/OrchestrationManualTriggerResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/orchestration-addresses/{orchestrationAddressId}/deposits": {
      "get": {
        "summary": "List deposits for an orchestration address",
        "description": "List on-chain deposits detected for the address, most recent first.\nFilterable by status, batch ID, and a created-at window.\n",
        "tags": [
          "Orchestration Address"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationAddressIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationDepositStatusQueryParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationDepositBatchIdQueryParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationCreatedAfterQueryParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationCreatedBeforeQueryParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationLimitQueryParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/OrchestrationDepositAllRecordsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/orchestration-addresses/{orchestrationAddressId}/deposits/{depositId}": {
      "get": {
        "summary": "Retrieve a deposit",
        "description": "Fetch a single deposit by ID. Returns `404 RESOURCE_NOT_FOUND` if the\ndeposit doesn't exist, doesn't belong to the named orchestration address,\nor the orchestration address doesn't belong to the named user.\n",
        "tags": [
          "Orchestration Address"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationAddressIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationDepositIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/OrchestrationDepositResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/orchestration-addresses/{orchestrationAddressId}/batches": {
      "get": {
        "summary": "List batches for an orchestration address",
        "description": "List batches produced from this address's deposits. Each batch carries\nthe IDs of the deposits it rolled up and (once the worker runs) the\n`offrampTransactionId` of the produced offramp.\n\nTo get full offramp details, call `GET /v2/offramps/{offrampTransactionId}`.\n",
        "tags": [
          "Orchestration Address"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationAddressIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationBatchStatusQueryParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationCreatedAfterQueryParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationCreatedBeforeQueryParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationLimitQueryParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/OrchestrationBatchAllRecordsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/orchestration-addresses/{orchestrationAddressId}/batches/{batchId}": {
      "get": {
        "summary": "Retrieve a batch",
        "description": "Fetch a single batch by ID. Returns `404 RESOURCE_NOT_FOUND` if the batch\ndoesn't exist, doesn't belong to the named orchestration address, or the\norchestration address doesn't belong to the named user.\n",
        "tags": [
          "Orchestration Address"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationAddressIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/OrchestrationBatchIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/OrchestrationBatchResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/reporting/templates": {
      "get": {
        "summary": "Get Available Metric Templates",
        "description": "Retrieves a list of all available metric templates (e.g., GROSS_VOLUME, TRANSACTION_COUNT). Templates define the logic, supported parameters, and breakdown options available for building reports.",
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TemplateListResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/reporting/templates/{name}": {
      "get": {
        "summary": "Get Template Details",
        "description": "Returns the specific definition for a template, including its description, the list of fields you can pass as parameters, and the dimensions available for breakdowns.",
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/TemplateResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The name of the metric template (e.g., GROSS_VOLUME, TRANSACTION_COUNT, NEW_USERS)"
          }
        ]
      }
    },
    "/v2/reporting/params/{name}/options": {
      "get": {
        "summary": "Get Parameter Options",
        "description": "Fetches valid options for specific parameters (e.g., transactionTypes, transactionStatuses) to help validate input or populate UI dropdowns. Supports pagination via query parameters.",
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ParamOptionsResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The name of the parameter (e.g., transactionTypes, transactionStatuses, userIds)"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "Page number for pagination (defaults to 1)"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            },
            "description": "Number of items per page (defaults to 100, max 1000)"
          }
        ]
      }
    },
    "/v2/reporting/metrics": {
      "post": {
        "summary": "Create Saved Metric",
        "description": "Creates and saves a new metric configuration to the database. This does not execute the report, but stores the parameters for future use.",
        "tags": [
          "Reporting"
        ],
        "responses": {
          "201": {
            "$ref": "#/components/responses/CreateMetricResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        },
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateMetricBody"
        }
      },
      "get": {
        "summary": "List Saved Metrics",
        "description": "Retrieves all saved metric configurations associated with the authenticated profile.",
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MetricListResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/reporting/metrics/{id}": {
      "get": {
        "summary": "Get Metric Details",
        "description": "Retrieves the configuration details of a specific saved metric by its UUID.",
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MetricResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The UUID of the saved metric"
          }
        ]
      },
      "post": {
        "summary": "Update Saved Metric",
        "description": "Updates the name, description, or parameters of an existing metric configuration. Supports partial updates.",
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/UpdateMetricResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The UUID of the saved metric to update"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateMetricBody"
        }
      },
      "delete": {
        "summary": "Delete Saved Metric",
        "description": "Permanently removes a saved metric configuration from the profile.",
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/DeleteMetricResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The UUID of the saved metric to delete"
          }
        ]
      }
    },
    "/v2/reporting/metrics/preview": {
      "post": {
        "summary": "Preview Metric Results",
        "description": "Executes a metric calculation on the fly without saving it to the database. Useful for testing parameters or ad-hoc analysis.",
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MetricCalculationResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        },
        "requestBody": {
          "$ref": "#/components/requestBodies/PreviewMetricBody"
        }
      }
    },
    "/v2/reporting/metrics/{id}/results": {
      "get": {
        "summary": "Execute Saved Metric",
        "description": "Runs the calculation for an existing saved metric and returns the dataset.",
        "tags": [
          "Reporting"
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/MetricCalculationResponse"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The UUID of the saved metric to execute"
          }
        ]
      }
    },
    "/v2/rfis": {
      "get": {
        "summary": "List RFIs",
        "description": "List the requests for information (RFIs) compliance has raised against your users. An RFI is raised either during onboarding, against the user's KYC/KYB, or against a single transfer, which stays held until the request is resolved.\n\nIf you would rather collect the reply programmatically, submit it through the [Submit an RFI response](https://docs.hifi.com/api-reference/rfi/submit-an-rfi-response) endpoint instead.\n\nPass `transferId` to find the request holding a specific onramp or offramp, for example after an `ONRAMP.RFI.OPEN` or `OFFRAMP.RFI.OPEN` webhook.\n\nThe open onboarding RFI for a single user is also returned on the [Retrieve KYC status](https://docs.hifi.com/api-reference/kyc/retrieve-kyc-status) endpoint.\n",
        "tags": [
          "RFI"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/RfiStatusQueryParameter"
          },
          {
            "$ref": "#/components/parameters/RfiKindQueryParameter"
          },
          {
            "$ref": "#/components/parameters/RfiUserIdQueryParameter"
          },
          {
            "$ref": "#/components/parameters/RfiTransferIdQueryParameter"
          },
          {
            "$ref": "#/components/parameters/RfiLimitParameter"
          },
          {
            "$ref": "#/components/parameters/RfiOffsetParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ListRfisResponse"
          },
          "400": {
            "$ref": "#/components/responses/RfiBadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/RfiInternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/rfis/{rfiId}/submissions": {
      "post": {
        "summary": "Submit an RFI response",
        "description": "Answer the current round of a request for information. Each entry in `items` replies to one request item by its `requestItemId` with exactly one of `fileId` or `answerText`, and any file must be uploaded through the files endpoint first. Every item marked `required` must be answered, and a round accepts only one submission.",
        "tags": [
          "RFI"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/RfiIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/SubmitRfiBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/SubmitRfiResponse"
          },
          "400": {
            "$ref": "#/components/responses/RfiBadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/RfiNotFoundResponse"
          },
          "409": {
            "$ref": "#/components/responses/RfiConflictResponse"
          },
          "422": {
            "$ref": "#/components/responses/RfiNotEligibleResponse"
          },
          "500": {
            "$ref": "#/components/responses/RfiInternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/transfer-approvals": {
      "get": {
        "tags": [
          "Transfer Approvals"
        ],
        "summary": "List all pending transfer approvals",
        "description": "Retrieve all pending transfer approvals that require admin action",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            },
            "description": "Number of approvals to return"
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            },
            "description": "Number of approvals to skip"
          }
        ],
        "responses": {
          "200": {
            "description": "Transfer approvals retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetTransferApprovalsResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/transfer-approvals/{approvalId}/approve": {
      "post": {
        "tags": [
          "Transfer Approvals"
        ],
        "summary": "Approve a transfer",
        "description": "Approve a pending transfer. If enough approvals are received, the transfer will be queued for execution.",
        "parameters": [
          {
            "name": "approvalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "ID of the transfer approval"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveTransferRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Transfer approval recorded successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApproveTransferResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/transfer-approvals/{approvalId}/reject": {
      "post": {
        "tags": [
          "Transfer Approvals"
        ],
        "summary": "Reject a transfer",
        "description": "Reject a pending transfer. This will cancel the transfer and return funds to the sender.",
        "parameters": [
          {
            "name": "approvalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "ID of the transfer approval"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RejectTransferRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Transfer rejected successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RejectTransferResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/transfer-approvals/{approvalId}": {
      "get": {
        "tags": [
          "Transfer Approvals"
        ],
        "summary": "Get a transfer approval",
        "description": "Retrieve detailed information about a specific transfer approval",
        "parameters": [
          {
            "name": "approvalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "ID of the transfer approval"
          }
        ],
        "responses": {
          "200": {
            "description": "Transfer approval details retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetTransferApprovalResponse"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/tos-link": {
      "post": {
        "summary": "Generate a terms of service link",
        "description": "The Terms of Service page must be displayed to the end user. This page can be whitelabeled upon request.",
        "tags": [
          "User"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/ToSLinkBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ToSLinkObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/tos-link/{signedAgreementId}": {
      "get": {
        "summary": "Retrieve a terms of service link",
        "description": "Retrieve the status of a terms of service link",
        "tags": [
          "User"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/SignedAgreementIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ToSLinkRecordStatusResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users": {
      "post": {
        "summary": "Create a user",
        "description": "Create a new Hifi user (Individual/Business)\n\nHIFI does not provide services to users or businesses from sanctioned and high-risk regions or unsupported US states. See [here](https://docs.hifi.com/docs/compliance/regions) for supported regions.\n",
        "tags": [
          "User"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UserV2CreateBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UserV2ObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "get": {
        "summary": "List all users",
        "description": "Get all existing Hifi users",
        "tags": [
          "User"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserTypeV2Parameter"
          },
          {
            "$ref": "#/components/parameters/UserFirstNameParameter"
          },
          {
            "$ref": "#/components/parameters/UserLastNameParameter"
          },
          {
            "$ref": "#/components/parameters/UserBusinessNameParameter"
          },
          {
            "$ref": "#/components/parameters/UserEmailParameter"
          },
          {
            "$ref": "#/components/parameters/UserSearchParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/AllUserV2ObjectsResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}": {
      "get": {
        "summary": "Retrieve a user",
        "description": "Get an existing Hifi user",
        "tags": [
          "User"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/UserV2ObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "post": {
        "summary": "Update a user",
        "description": "Update an existing Hifi user.\n\nHIFI does not provide services to users or businesses from sanctioned and high-risk regions or unsupported US states. See [here](https://docs.hifi.com/docs/compliance/regions) for supported regions.\n",
        "tags": [
          "User"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UserV2UpdateBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UserV2ObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/wallets/balance": {
      "get": {
        "summary": "Retrieve wallet balance",
        "description": "Get the latest balance of a user's wallet, including details like the blockchain network and currency.",
        "tags": [
          "Wallet"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/ChainParameter"
          },
          {
            "$ref": "#/components/parameters/CryptoCurrencyParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WalletBalanceResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/wallets/add": {
      "post": {
        "summary": "Add wallets to a user",
        "description": "Add wallets to a user",
        "tags": [
          "Wallet"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UserV2AddWalletsBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/UserV2ObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/wallets/external": {
      "get": {
        "summary": "Get external wallets for a user",
        "description": "Get external wallets for a user",
        "tags": [
          "Wallet"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ExternalWalletsObjectResponse"
          }
        }
      },
      "post": {
        "summary": "Add external wallets to a user",
        "description": "Add external wallets to a user",
        "tags": [
          "Wallet"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/AddExternalWalletsBody"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/ExternalWalletObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/wallets/external/{externalWalletId}": {
      "get": {
        "summary": "Get an external wallet",
        "description": "Get an external wallet",
        "tags": [
          "Wallet"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/ExternalWalletIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ExternalWalletObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/wallets/deposits": {
      "get": {
        "summary": "Get inbound deposits",
        "description": "Get inbound deposits for a user's wallet",
        "tags": [
          "Wallet"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/ChainParameter"
          },
          {
            "$ref": "#/components/parameters/CryptoCurrencyParameter"
          },
          {
            "$ref": "#/components/parameters/WalletDepositStatusParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedAfterParameter"
          },
          {
            "$ref": "#/components/parameters/CreatedBeforeParameter"
          },
          {
            "$ref": "#/components/parameters/LimitParameter"
          },
          {
            "$ref": "#/components/parameters/MinAmountParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WalletDepositsObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/v2/users/{userId}/wallets/deposits/{depositId}": {
      "get": {
        "summary": "Get an inbound deposit",
        "description": "Get an inbound deposit for a user's wallet",
        "tags": [
          "Wallet"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/UserIdPathParameter"
          },
          {
            "$ref": "#/components/parameters/DepositIdPathParameter"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/WalletDepositObjectResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    }
  }
}