{
  "components": {
    "schemas": {
      "ARSTransfersInfo": {
        "additionalProperties": false,
        "properties": {
          "account_type": {
            "$ref": "#/components/schemas/ARSTransfersType"
          },
          "account_value": {
            "type": "string"
          },
          "beneficiary_name": {
            "type": "string"
          }
        },
        "required": [
          "beneficiary_name",
          "account_type",
          "account_value"
        ],
        "type": "object"
      },
      "ARSTransfersType": {
        "enum": [
          "cvu",
          "cbu",
          "alias"
        ],
        "type": "string"
      },
      "Address": {
        "additionalProperties": false,
        "properties": {
          "city": {
            "type": "string"
          },
          "country": {
            "$ref": "#/components/schemas/CountryCode"
          },
          "line1": {
            "type": "string"
          },
          "line2": {
            "type": "string"
          },
          "postal_code": {
            "type": "string"
          },
          "state": {
            "type": "string"
          }
        },
        "required": [
          "country",
          "line1",
          "city",
          "state",
          "postal_code"
        ],
        "type": "object"
      },
      "ArsTransfers30TransferInstructions": {
        "additionalProperties": false,
        "properties": {
          "account_number": {
            "type": "string"
          },
          "account_type": {
            "$ref": "#/components/schemas/ARSTransfersType"
          },
          "allowed_tax_id": {
            "type": "string"
          }
        },
        "required": [
          "account_type",
          "account_number"
        ],
        "type": "object"
      },
      "AuthType": {
        "enum": [
          "api_key"
        ],
        "type": "string"
      },
      "BRLPixInfo": {
        "additionalProperties": false,
        "properties": {
          "pix_key": {
            "type": "string"
          }
        },
        "required": [
          "pix_key"
        ],
        "type": "object"
      },
      "BankAccount": {
        "additionalProperties": false,
        "properties": {
          "ars_transfers": {
            "$ref": "#/components/schemas/ARSTransfersInfo"
          },
          "brl_pix": {
            "$ref": "#/components/schemas/BRLPixInfo"
          },
          "cad_eft": {
            "$ref": "#/components/schemas/CADEftInfo"
          },
          "cop_ach": {
            "$ref": "#/components/schemas/COPAchInfo"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "eur_sepa": {
            "$ref": "#/components/schemas/EURSepaInfo"
          },
          "id": {
            "type": "string"
          },
          "mxn_spei": {
            "$ref": "#/components/schemas/MXNSpeiInfo"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/BankAccountStatus"
          },
          "usd_ach": {
            "$ref": "#/components/schemas/USDRailInfo"
          },
          "usd_domestic_wire": {
            "$ref": "#/components/schemas/USDRailInfo"
          }
        },
        "required": [
          "id",
          "name",
          "status",
          "created_at"
        ],
        "type": "object"
      },
      "BankAccountHolderType": {
        "enum": [
          "business",
          "individual"
        ],
        "type": "string"
      },
      "BankAccountStatus": {
        "enum": [
          "active",
          "archived"
        ],
        "type": "string"
      },
      "BankAccountType": {
        "enum": [
          "checking",
          "savings"
        ],
        "type": "string"
      },
      "BrlPixTransferInstructions": {
        "additionalProperties": false,
        "properties": {
          "pix_code": {
            "type": "string"
          }
        },
        "required": [
          "pix_code"
        ],
        "type": "object"
      },
      "CADEftInfo": {
        "additionalProperties": false,
        "properties": {
          "account_number": {
            "type": "string"
          },
          "bank_account_holder_type": {
            "$ref": "#/components/schemas/BankAccountHolderType"
          },
          "bank_account_type": {
            "$ref": "#/components/schemas/BankAccountType"
          },
          "institution_number": {
            "type": "string"
          },
          "owner_business_name": {
            "type": "string"
          },
          "owner_first_name": {
            "type": "string"
          },
          "owner_last_name": {
            "type": "string"
          },
          "transit_number": {
            "type": "string"
          }
        },
        "required": [
          "account_number",
          "transit_number",
          "institution_number",
          "bank_account_type",
          "bank_account_holder_type"
        ],
        "type": "object"
      },
      "COPAchInfo": {
        "additionalProperties": false,
        "properties": {
          "account_type": {
            "$ref": "#/components/schemas/BankAccountType"
          },
          "bank_account": {
            "type": "string"
          },
          "bank_code": {
            "type": "string"
          },
          "beneficiary_first_name": {
            "type": "string"
          },
          "beneficiary_last_name": {
            "type": "string"
          },
          "document_id": {
            "type": "string"
          },
          "document_type": {
            "$ref": "#/components/schemas/COPDocumentType"
          },
          "email": {
            "type": "string"
          }
        },
        "required": [
          "beneficiary_first_name",
          "beneficiary_last_name",
          "document_id",
          "document_type",
          "email",
          "bank_code",
          "bank_account",
          "account_type"
        ],
        "type": "object"
      },
      "COPDocumentType": {
        "enum": [
          "cc",
          "ce",
          "nit",
          "pass",
          "pep"
        ],
        "type": "string"
      },
      "CopPseTransferInstructions": {
        "additionalProperties": false,
        "properties": {
          "account_type": {
            "$ref": "#/components/schemas/BankAccountType"
          },
          "bank_account": {
            "type": "string"
          },
          "bank_code": {
            "type": "string"
          },
          "beneficiary_name": {
            "type": "string"
          }
        },
        "required": [
          "beneficiary_name",
          "bank_code",
          "bank_account",
          "account_type"
        ],
        "type": "object"
      },
      "CountryCode": {
        "enum": [
          "AUS",
          "AUT",
          "AZE",
          "ALB",
          "DZA",
          "ASM",
          "AIA",
          "AGO",
          "AND",
          "ATG",
          "ARE",
          "ARG",
          "ARM",
          "ABW",
          "AFG",
          "BHS",
          "BGD",
          "BRB",
          "BHR",
          "BLR",
          "BLZ",
          "BEL",
          "BEN",
          "BMU",
          "BGR",
          "BOL",
          "BIH",
          "BWA",
          "BRA",
          "IOT",
          "BRN",
          "BFA",
          "BDI",
          "BTN",
          "VUT",
          "VAT",
          "GBR",
          "HUN",
          "VEN",
          "VGB",
          "VIR",
          "TLS",
          "VNM",
          "GAB",
          "HTI",
          "GUY",
          "GMB",
          "GHA",
          "GLP",
          "GTM",
          "GIN",
          "GNB",
          "DEU",
          "GIB",
          "HND",
          "HKG",
          "GRD",
          "GRL",
          "GRC",
          "GEO",
          "GUM",
          "DNK",
          "COD",
          "DJI",
          "DMA",
          "DOM",
          "EGY",
          "ZMB",
          "ZWE",
          "ISR",
          "IND",
          "IDN",
          "JOR",
          "IRQ",
          "IRN",
          "IRL",
          "ISL",
          "ESP",
          "ITA",
          "YEM",
          "KAZ",
          "CYM",
          "KHM",
          "CMR",
          "CAN",
          "QAT",
          "KEN",
          "CYP",
          "KIR",
          "CHN",
          "COL",
          "COM",
          "COG",
          "PRK",
          "KOR",
          "CRI",
          "CIV",
          "CUB",
          "KWT",
          "KGZ",
          "LAO",
          "LVA",
          "LSO",
          "LBR",
          "LBN",
          "LBY",
          "LTU",
          "LIE",
          "LUX",
          "MUS",
          "MRT",
          "MDG",
          "MYT",
          "MAC",
          "MKD",
          "MWI",
          "MYS",
          "MLI",
          "MDV",
          "MLT",
          "MNP",
          "MAR",
          "MTQ",
          "MHL",
          "MEX",
          "FSM",
          "MOZ",
          "MDA",
          "MCO",
          "MNG",
          "MSR",
          "MMR",
          "NAM",
          "NRU",
          "NPL",
          "NER",
          "NGA",
          "NLD",
          "NIC",
          "NIU",
          "NZL",
          "NCL",
          "NOR",
          "OMN",
          "IMN",
          "SHN",
          "WLF",
          "CPV",
          "COK",
          "WSM",
          "TCA",
          "PAK",
          "PLW",
          "PSE",
          "PAN",
          "PNG",
          "PRY",
          "PER",
          "POL",
          "PRT",
          "PRI",
          "REU",
          "RUS",
          "RWA",
          "ROU",
          "SLV",
          "SMR",
          "STP",
          "SAU",
          "SWZ",
          "SYC",
          "SEN",
          "SPM",
          "VCT",
          "KNA",
          "LCA",
          "SGP",
          "SYR",
          "SVK",
          "SVN",
          "USA",
          "SLB",
          "SOM",
          "SDN",
          "SUR",
          "SLE",
          "TJK",
          "TWN",
          "THA",
          "TZA",
          "TGO",
          "TKL",
          "TON",
          "TTO",
          "TUV",
          "TUN",
          "TKM",
          "TUR",
          "UGA",
          "UZB",
          "UKR",
          "URY",
          "FRO",
          "FJI",
          "PHL",
          "FIN",
          "FLK",
          "FRA",
          "GUF",
          "PYF",
          "HRV",
          "CAF",
          "TCD",
          "CZE",
          "CHL",
          "CHE",
          "SWE",
          "LKA",
          "ECU",
          "GNQ",
          "ERI",
          "EST",
          "ETH",
          "ZAF",
          "SGS",
          "JAM",
          "MNE",
          "BLM",
          "SXM",
          "SRB",
          "BES",
          "GGY",
          "JEY",
          "CUW",
          "MAF",
          "SSD",
          "JPN"
        ],
        "type": "string"
      },
      "CreateBankAccountRequest": {
        "additionalProperties": false,
        "properties": {
          "ars_transfers": {
            "$ref": "#/components/schemas/ARSTransfersInfo"
          },
          "brl_pix": {
            "$ref": "#/components/schemas/BRLPixInfo"
          },
          "cad_eft": {
            "$ref": "#/components/schemas/CADEftInfo"
          },
          "cop_ach": {
            "$ref": "#/components/schemas/COPAchInfo"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "eur_sepa": {
            "$ref": "#/components/schemas/EURSepaInfo"
          },
          "mxn_spei": {
            "$ref": "#/components/schemas/MXNSpeiInfo"
          },
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "payment_rail": {
            "$ref": "#/components/schemas/FiatPaymentMethod"
          },
          "usd_ach": {
            "$ref": "#/components/schemas/USDRailInfo"
          },
          "usd_domestic_wire": {
            "$ref": "#/components/schemas/USDRailInfo"
          }
        },
        "required": [
          "name",
          "currency",
          "payment_rail"
        ],
        "type": "object"
      },
      "CreateDepositQuoteRequest": {
        "additionalProperties": false,
        "properties": {
          "receiver_amount": {
            "format": "decimal",
            "type": "string"
          },
          "sender_amount": {
            "format": "decimal",
            "type": "string"
          },
          "source_bank_account_id": {
            "type": "string"
          }
        },
        "required": [
          "source_bank_account_id"
        ],
        "type": "object"
      },
      "CreateExternalWalletRequest": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "chain": {
            "$ref": "#/components/schemas/CryptoNetworkAndChain"
          },
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "name",
          "chain",
          "address"
        ],
        "type": "object"
      },
      "CreatePayoutBody": {
        "additionalProperties": false,
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/CreatePayoutItem"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "CreatePayoutItem": {
        "additionalProperties": false,
        "properties": {
          "amount": {
            "format": "decimal",
            "type": "string"
          },
          "email": {
            "format": "email",
            "type": "string"
          },
          "recipient_id": {
            "type": "string"
          }
        },
        "required": [
          "amount"
        ],
        "type": "object"
      },
      "CreateRecipientRequest": {
        "additionalProperties": false,
        "properties": {
          "email": {
            "format": "email",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "nickname": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "type": "object"
      },
      "CreateWithdrawalQuoteRequest": {
        "additionalProperties": false,
        "properties": {
          "destination_bank_account_id": {
            "type": "string"
          },
          "receiver_amount": {
            "format": "decimal",
            "type": "string"
          },
          "sender_amount": {
            "format": "decimal",
            "type": "string"
          }
        },
        "required": [
          "destination_bank_account_id"
        ],
        "type": "object"
      },
      "CryptoNetworkAndChain": {
        "enum": [
          "ethereum",
          "polygon",
          "base",
          "arbitrum",
          "optimism"
        ],
        "type": "string"
      },
      "Currency": {
        "enum": [
          "USDC",
          "USDT",
          "USD",
          "BRL",
          "ARS",
          "COP",
          "MXN",
          "CAD",
          "EUR"
        ],
        "type": "string"
      },
      "Deposit": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "destination": {
            "$ref": "#/components/schemas/TransferDestination"
          },
          "failure_reason": {
            "type": "string"
          },
          "fee": {
            "$ref": "#/components/schemas/FeeSummary"
          },
          "fiat_transfer_instructions": {
            "$ref": "#/components/schemas/FiatTransferInstructions"
          },
          "id": {
            "type": "string"
          },
          "market_rate": {
            "format": "decimal",
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/TransferSource"
          },
          "status": {
            "$ref": "#/components/schemas/TransferStatus"
          }
        },
        "required": [
          "id",
          "source",
          "destination",
          "market_rate",
          "status",
          "created_at"
        ],
        "type": "object"
      },
      "EURSepaInfo": {
        "additionalProperties": false,
        "properties": {
          "bank_account_holder_type": {
            "$ref": "#/components/schemas/BankAccountHolderType"
          },
          "bank_account_type": {
            "$ref": "#/components/schemas/BankAccountType"
          },
          "iban": {
            "type": "string"
          },
          "owner_address": {
            "$ref": "#/components/schemas/Address"
          },
          "owner_business_name": {
            "type": "string"
          },
          "owner_first_name": {
            "type": "string"
          },
          "owner_last_name": {
            "type": "string"
          }
        },
        "required": [
          "iban",
          "bank_account_type",
          "bank_account_holder_type",
          "owner_address"
        ],
        "type": "object"
      },
      "Empty": {
        "additionalProperties": false,
        "type": "object"
      },
      "EntityType": {
        "enum": [
          "organization",
          "individual"
        ],
        "type": "string"
      },
      "ErrorDetail": {
        "additionalProperties": false,
        "properties": {
          "location": {
            "description": "Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'",
            "type": "string"
          },
          "message": {
            "description": "Error message text",
            "type": "string"
          },
          "value": {
            "description": "The value at the given location"
          }
        },
        "type": "object"
      },
      "ErrorModel": {
        "additionalProperties": false,
        "properties": {
          "detail": {
            "description": "A human-readable explanation specific to this occurrence of the problem.",
            "example": "Property foo is required but is missing.",
            "type": "string"
          },
          "errors": {
            "description": "Optional list of individual error details",
            "items": {
              "$ref": "#/components/schemas/ErrorDetail"
            },
            "type": "array"
          },
          "instance": {
            "description": "A URI reference that identifies the specific occurrence of the problem.",
            "example": "https://example.com/error-log/abc123",
            "format": "uri",
            "type": "string"
          },
          "status": {
            "description": "HTTP status code",
            "example": 400,
            "format": "int64",
            "type": "integer"
          },
          "title": {
            "description": "A short, human-readable summary of the problem type. This value should not change between occurrences of the error.",
            "example": "Bad Request",
            "type": "string"
          },
          "type": {
            "default": "about:blank",
            "description": "A URI reference to human-readable documentation for the error.",
            "example": "https://example.com/errors/example",
            "format": "uri",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ExternalWallet": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "type": "string"
          },
          "chain": {
            "$ref": "#/components/schemas/CryptoNetworkAndChain"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ExternalWalletStatus"
          }
        },
        "required": [
          "id",
          "name",
          "chain",
          "address",
          "status",
          "created_at"
        ],
        "type": "object"
      },
      "ExternalWalletStatus": {
        "enum": [
          "active",
          "archived"
        ],
        "type": "string"
      },
      "FeeSummary": {
        "additionalProperties": false,
        "properties": {
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "flat_fee": {
            "format": "decimal",
            "type": "string"
          },
          "percentage_fee": {
            "format": "decimal",
            "type": "string"
          }
        },
        "required": [
          "flat_fee",
          "percentage_fee",
          "currency"
        ],
        "type": "object"
      },
      "FiatPaymentMethod": {
        "enum": [
          "usd_ach",
          "usd_fedwire",
          "brl_pix",
          "ars_transfers_3_0",
          "cop_pse",
          "mxn_spei",
          "cad_eft",
          "eur_sepa"
        ],
        "type": "string"
      },
      "FiatTransferInstructions": {
        "additionalProperties": false,
        "properties": {
          "ars_transfers_3_0_transfer_instructions": {
            "$ref": "#/components/schemas/ArsTransfers30TransferInstructions"
          },
          "brl_pix_transfer_instructions": {
            "$ref": "#/components/schemas/BrlPixTransferInstructions"
          },
          "cop_pse_transfer_instructions": {
            "$ref": "#/components/schemas/CopPseTransferInstructions"
          },
          "mxn_spei_transfer_instructions": {
            "$ref": "#/components/schemas/MxnSpeiTransferInstructions"
          },
          "payment_method": {
            "$ref": "#/components/schemas/FiatPaymentMethod"
          },
          "usd_ach_transfer_instructions": {
            "$ref": "#/components/schemas/UsdAchTransferInstructions"
          },
          "usd_fedwire_transfer_instructions": {
            "$ref": "#/components/schemas/UsdFedwireTransferInstructions"
          }
        },
        "required": [
          "payment_method"
        ],
        "type": "object"
      },
      "MXNSpeiInfo": {
        "additionalProperties": false,
        "properties": {
          "beneficiary_name": {
            "type": "string"
          },
          "spei_clabe": {
            "type": "string"
          }
        },
        "required": [
          "beneficiary_name",
          "spei_clabe"
        ],
        "type": "object"
      },
      "Me": {
        "additionalProperties": false,
        "properties": {
          "auth_type": {
            "$ref": "#/components/schemas/AuthType"
          },
          "entity_id": {
            "type": "string"
          },
          "entity_type": {
            "$ref": "#/components/schemas/EntityType"
          },
          "scopes": {
            "items": {
              "$ref": "#/components/schemas/Scope"
            },
            "type": "array"
          }
        },
        "required": [
          "auth_type",
          "entity_id",
          "entity_type",
          "scopes"
        ],
        "type": "object"
      },
      "MxnSpeiTransferInstructions": {
        "additionalProperties": false,
        "properties": {
          "bank_name": {
            "type": "string"
          },
          "beneficiary_name": {
            "type": "string"
          },
          "spei_clabe": {
            "type": "string"
          },
          "transfer_memo": {
            "type": "string"
          }
        },
        "required": [
          "beneficiary_name",
          "spei_clabe"
        ],
        "type": "object"
      },
      "PaginatedListBankAccount": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/BankAccount"
            },
            "type": "array"
          },
          "next_cursor": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "PaginatedListExternalWallet": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/ExternalWallet"
            },
            "type": "array"
          },
          "next_cursor": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "PaginatedListPayoutItem": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PayoutItem"
            },
            "type": "array"
          },
          "next_cursor": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "PaginatedListRecipient": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Recipient"
            },
            "type": "array"
          },
          "next_cursor": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "PaginatedListTransaction": {
        "additionalProperties": false,
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/Transaction"
            },
            "type": "array"
          },
          "next_cursor": {
            "type": "string"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Payout": {
        "additionalProperties": false,
        "properties": {
          "completed_at": {
            "format": "date-time",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "failure_reason": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "item_breakdown": {
            "$ref": "#/components/schemas/PayoutItemBreakdown"
          },
          "status": {
            "$ref": "#/components/schemas/PayoutStatus"
          },
          "total_amount": {
            "format": "decimal",
            "type": "string"
          },
          "total_items": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "total_items",
          "total_amount",
          "currency",
          "status",
          "item_breakdown",
          "created_at"
        ],
        "type": "object"
      },
      "PayoutItem": {
        "additionalProperties": false,
        "properties": {
          "amount": {
            "format": "decimal",
            "type": "string"
          },
          "email": {
            "format": "email",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "recipient_id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PayoutItemStatus"
          }
        },
        "required": [
          "id",
          "recipient_id",
          "email",
          "amount",
          "status"
        ],
        "type": "object"
      },
      "PayoutItemBreakdown": {
        "additionalProperties": false,
        "properties": {
          "cancelled": {
            "format": "int64",
            "type": "integer"
          },
          "completed": {
            "format": "int64",
            "type": "integer"
          },
          "failed": {
            "format": "int64",
            "type": "integer"
          },
          "pending_claim": {
            "format": "int64",
            "type": "integer"
          },
          "processing": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "processing",
          "pending_claim",
          "completed",
          "failed",
          "cancelled"
        ],
        "type": "object"
      },
      "PayoutItemStatus": {
        "enum": [
          "processing",
          "pending_claim",
          "completed",
          "failed",
          "cancelled"
        ],
        "type": "string"
      },
      "PayoutStatus": {
        "enum": [
          "processing",
          "completed",
          "failed",
          "cancelled"
        ],
        "type": "string"
      },
      "Quote": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "destination": {
            "$ref": "#/components/schemas/TransferDestination"
          },
          "expires_at": {
            "format": "date-time",
            "type": "string"
          },
          "fee": {
            "$ref": "#/components/schemas/FeeSummary"
          },
          "id": {
            "type": "string"
          },
          "is_ach_debit": {
            "type": "boolean"
          },
          "market_rate": {
            "format": "decimal",
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/TransferSource"
          },
          "time_estimate_seconds": {
            "format": "int64",
            "nullable": true,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "source",
          "destination",
          "market_rate",
          "created_at",
          "time_estimate_seconds"
        ],
        "type": "object"
      },
      "Recipient": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "email": {
            "format": "email",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "nickname": {
            "type": "string"
          },
          "on_platform": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "email",
          "display_name",
          "on_platform",
          "created_at"
        ],
        "type": "object"
      },
      "Scope": {
        "enum": [
          "balance:read",
          "bank_accounts:read",
          "bank_accounts:write",
          "external_wallets:read",
          "external_wallets:write",
          "recipients:read",
          "recipients:write",
          "transactions:read",
          "deposits:read",
          "deposits:write",
          "withdrawals:read",
          "withdrawals:write",
          "payouts:read",
          "payouts:write",
          "webhooks:read",
          "webhooks:write"
        ],
        "type": "string"
      },
      "Transaction": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "failure_reason": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/TransferStatus"
          },
          "type": {
            "$ref": "#/components/schemas/TransactionType"
          }
        },
        "required": [
          "id",
          "type",
          "status",
          "created_at"
        ],
        "type": "object"
      },
      "TransactionType": {
        "enum": [
          "deposit",
          "withdrawal",
          "payout",
          "inbound_transfer"
        ],
        "type": "string"
      },
      "TransferDestination": {
        "additionalProperties": false,
        "properties": {
          "amount": {
            "format": "decimal",
            "type": "string"
          },
          "chain": {
            "$ref": "#/components/schemas/CryptoNetworkAndChain"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "min_amount": {
            "format": "decimal",
            "type": "string"
          },
          "payment_method": {
            "$ref": "#/components/schemas/FiatPaymentMethod"
          }
        },
        "required": [
          "currency",
          "amount"
        ],
        "type": "object"
      },
      "TransferSource": {
        "additionalProperties": false,
        "properties": {
          "account_id": {
            "type": "string"
          },
          "amount": {
            "format": "decimal",
            "type": "string"
          },
          "chain": {
            "$ref": "#/components/schemas/CryptoNetworkAndChain"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "payment_method": {
            "$ref": "#/components/schemas/FiatPaymentMethod"
          }
        },
        "required": [
          "currency",
          "amount"
        ],
        "type": "object"
      },
      "TransferStatus": {
        "enum": [
          "queued",
          "awaiting_transfer",
          "processing",
          "completed",
          "failed",
          "cancelled",
          "expired",
          "pending_claim"
        ],
        "type": "string"
      },
      "USDRailInfo": {
        "additionalProperties": false,
        "properties": {
          "account_number": {
            "type": "string"
          },
          "bank_account_holder_type": {
            "$ref": "#/components/schemas/BankAccountHolderType"
          },
          "bank_account_type": {
            "$ref": "#/components/schemas/BankAccountType"
          },
          "owner_address": {
            "$ref": "#/components/schemas/Address"
          },
          "owner_business_name": {
            "type": "string"
          },
          "owner_first_name": {
            "type": "string"
          },
          "owner_last_name": {
            "type": "string"
          },
          "routing_number": {
            "type": "string"
          }
        },
        "required": [
          "account_number",
          "routing_number",
          "bank_account_type",
          "bank_account_holder_type",
          "owner_address"
        ],
        "type": "object"
      },
      "UpdateBankAccountBody": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateRecipientBody": {
        "additionalProperties": false,
        "properties": {
          "nickname": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UsdAchTransferInstructions": {
        "additionalProperties": false,
        "properties": {
          "account_number": {
            "type": "string"
          },
          "bank_name": {
            "type": "string"
          },
          "beneficiary_address": {
            "type": "string"
          },
          "beneficiary_name": {
            "type": "string"
          },
          "routing_number": {
            "type": "string"
          },
          "transfer_memo": {
            "type": "string"
          }
        },
        "required": [
          "account_number",
          "routing_number",
          "bank_name",
          "beneficiary_name",
          "beneficiary_address"
        ],
        "type": "object"
      },
      "UsdFedwireTransferInstructions": {
        "additionalProperties": false,
        "properties": {
          "account_number": {
            "type": "string"
          },
          "bank_name": {
            "type": "string"
          },
          "beneficiary_address": {
            "type": "string"
          },
          "beneficiary_name": {
            "type": "string"
          },
          "routing_number": {
            "type": "string"
          },
          "transfer_memo": {
            "type": "string"
          }
        },
        "required": [
          "account_number",
          "routing_number",
          "bank_name",
          "beneficiary_name",
          "beneficiary_address"
        ],
        "type": "object"
      },
      "WalletBalance": {
        "additionalProperties": false,
        "properties": {
          "amount": {
            "format": "decimal",
            "type": "string"
          },
          "chain": {
            "$ref": "#/components/schemas/CryptoNetworkAndChain"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "last_updated": {
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "chain",
          "currency",
          "amount",
          "last_updated"
        ],
        "type": "object"
      },
      "Withdrawal": {
        "additionalProperties": false,
        "properties": {
          "completed_at": {
            "format": "date-time",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "type": "string"
          },
          "destination": {
            "$ref": "#/components/schemas/TransferDestination"
          },
          "failure_reason": {
            "type": "string"
          },
          "fee": {
            "$ref": "#/components/schemas/FeeSummary"
          },
          "fiat_transfer_instructions": {
            "$ref": "#/components/schemas/FiatTransferInstructions"
          },
          "id": {
            "type": "string"
          },
          "market_rate": {
            "format": "decimal",
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/TransferSource"
          },
          "status": {
            "$ref": "#/components/schemas/TransferStatus"
          }
        },
        "required": [
          "id",
          "source",
          "destination",
          "market_rate",
          "status",
          "created_at"
        ],
        "type": "object"
      }
    }
  },
  "info": {
    "title": "Consul API",
    "version": ""
  },
  "openapi": "3.0.3",
  "paths": {
    "/balance": {
      "get": {
        "operationId": "GetBalance",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WalletBalance"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/bank_accounts": {
      "get": {
        "operationId": "ListBankAccounts",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page_size",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedListBankAccount"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      },
      "post": {
        "operationId": "CreateBankAccount",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBankAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BankAccount"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/bank_accounts/{id}": {
      "get": {
        "operationId": "GetBankAccount",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BankAccount"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      },
      "patch": {
        "operationId": "UpdateBankAccount",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBankAccountBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BankAccount"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/bank_accounts/{id}/archive": {
      "post": {
        "operationId": "ArchiveBankAccount",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Empty"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/deposits/quote": {
      "post": {
        "operationId": "CreateDepositQuote",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDepositQuoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Quote"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/deposits/quote/{id}/execute": {
      "post": {
        "operationId": "ExecuteDeposit",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Deposit"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/deposits/{id}": {
      "get": {
        "operationId": "GetDeposit",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Deposit"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/external_wallets": {
      "get": {
        "operationId": "ListExternalWallets",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page_size",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedListExternalWallet"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      },
      "post": {
        "operationId": "CreateExternalWallet",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExternalWalletRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalWallet"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/external_wallets/{id}": {
      "get": {
        "operationId": "GetExternalWallet",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExternalWallet"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/external_wallets/{id}/archive": {
      "post": {
        "operationId": "ArchiveExternalWallet",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Empty"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/me": {
      "get": {
        "operationId": "GetMe",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Me"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/payouts": {
      "post": {
        "operationId": "CreatePayout",
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePayoutBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payout"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/payouts/{id}": {
      "get": {
        "operationId": "GetPayout",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payout"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/payouts/{id}/cancel": {
      "post": {
        "operationId": "CancelPayout",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payout"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/payouts/{id}/items": {
      "get": {
        "operationId": "ListPayoutItems",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "page_size",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedListPayoutItem"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/payouts/{id}/items/{item_id}/cancel": {
      "post": {
        "operationId": "CancelPayoutItem",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "item_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayoutItem"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/recipients": {
      "get": {
        "operationId": "ListRecipients",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "page_size",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedListRecipient"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      },
      "post": {
        "operationId": "CreateRecipient",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRecipientRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Recipient"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/recipients/{id}": {
      "delete": {
        "operationId": "DeleteRecipient",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Empty"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      },
      "get": {
        "operationId": "GetRecipient",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Recipient"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      },
      "patch": {
        "operationId": "UpdateRecipient",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRecipientBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Recipient"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/transactions": {
      "get": {
        "operationId": "ListTransactions",
        "parameters": [
          {
            "explode": false,
            "in": "query",
            "name": "transaction_type",
            "schema": {
              "items": {
                "$ref": "#/components/schemas/TransactionType"
              },
              "type": "array"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "page_size",
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "from",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "to",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedListTransaction"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/transactions/{id}": {
      "get": {
        "operationId": "GetTransaction",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Transaction"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/withdrawals/quote": {
      "post": {
        "operationId": "CreateWithdrawalQuote",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWithdrawalQuoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Quote"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/withdrawals/quote/{id}/execute": {
      "post": {
        "operationId": "ExecuteWithdrawal",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Withdrawal"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    },
    "/withdrawals/{id}": {
      "get": {
        "operationId": "GetWithdrawal",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Withdrawal"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            },
            "description": "Error"
          }
        }
      }
    }
  }
}
