> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rhino.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# Generate a bridge/bridge+swap quote

> This endpoint allows you to obtain a quote for a bridge or bridge+swap transaction that can be submitted through the `POST /quote/commit/{quoteId}` endpoint.



## OpenAPI

````yaml https://api.rhino.fi/bridge/swagger.json post /quote/bridge-swap/user
openapi: 3.1.0
info:
  title: Bridge API
  version: 0.0.1
  description: Functionality for interacting with Rhino bridge service
servers:
  - url: https://api.rhino.fi/bridge
security: []
tags:
  - name: quote
  - name: configs
  - name: history
  - name: swap
  - name: depositAddresses
paths:
  /quote/bridge-swap/user:
    post:
      tags:
        - quote
      summary: Generate a bridge/bridge+swap quote
      description: >-
        This endpoint allows you to obtain a quote for a bridge or bridge+swap
        transaction that can be submitted through the `POST
        /quote/commit/{quoteId}` endpoint.
      operationId: quote.bridgeSwapUserQuote
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - chainIn
                - chainOut
                - amount
                - mode
                - tokenIn
                - tokenOut
                - depositor
                - recipient
              properties:
                chainIn:
                  type: string
                  description: >-
                    The blockchain that the tokens will be bridged from, e.g.
                    "ETHEREUM".
                chainOut:
                  type: string
                  description: >-
                    The blockchain that the tokens will be bridged to, e.g.
                    "AVALANCHE".
                amount:
                  type: string
                  description: >-
                    When the mode is "pay" this is the amount of the token to be
                    sent; when the mode is "receive" this is the amount of the
                    token that will be received. E.g. to send 456.34 USDT the
                    amount should be "456.34".
                amountNative:
                  type: string
                  description: >-
                    The amount of native gas token (e.g. ETH, MATIC, BNB) that
                    will be delivered to the user's wallet on the destination
                    chain for a Gas Boost, e.g. "10".
                mode:
                  type: string
                  enum:
                    - pay
                    - receive
                  description: >-
                    Whether the amount should represent the sending or receiving
                    amount, e.g. "pay". When "pay" is used, `amount` represents
                    the value on the `chainIn` and the `chainOut` value will be
                    calculated and provided in the quote. When "receive" is
                    used, `amount` represents the value on the `chainOut` and
                    the `chainIn` value will be calculated and provided in the
                    quote.
                isSda:
                  allOf:
                    - $ref: '#/components/schemas/BooleanFromString'
                  description: >-
                    Whether the generated quote should be for the transaction
                    via a Rhino.fi Smart Deposit Address or not, e.g. `true`. If
                    the transaction will be via a Rhino.fi Smart Deposit Address
                    then this should be included as `true`. This param will
                    default to `false`.
                tokenIn:
                  type: string
                  description: The token that is to be sent on the chainIn, e.g. "USDT".
                tokenOut:
                  type: string
                  description: >-
                    The token that is to be received on the chainOut, e.g.
                    "USDT".
                depositor:
                  type: string
                  description: >-
                    The address on the chainIn that will be sending the tokens
                    for bridging, e.g. "0x1234...Abc".
                recipient:
                  type: string
                  description: >-
                    The address on the chainOut that will be receiving the
                    bridged tokens, e.g. "0x1234...Abc".
                postBridgeData:
                  anyOf:
                    - $ref: '#/components/schemas/ExtendedPostBridgeData'
                    - $ref: >-
                        #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                    - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                    - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                    - $ref: >-
                        #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                    - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                    - $ref: >-
                        #/components/schemas/RocketFoundationDepositPostBridgeData
                    - $ref: '#/components/schemas/MapleDepositPostBridgeData'
                    - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
                  description: >-
                    Custom Routing Rules as configured by Rhino.fi for specific
                    clients, e.g. to move funds after the initial bridge into a
                    yield bearing vault. To understand more about how Routing
                    Rules can help automate onchain actions and ensure that your
                    funds land in an active state, please contact your Rhino.fi
                    Customer Success Manager or speak to a member of the
                    Rhino.fi sales team.
                webhookUrl:
                  type: string
                  description: >-
                    A URL that success or failure events related to this
                    bridging transaction should be sent to, e.g.
                    "https://client.com/rhino-webhook".
                refundAddress:
                  type: string
                  description: >-
                    The address that the tokens should be returned to in the
                    case that this transaction fails, e.g. "0xabc...xyz". Where
                    this is not set in advance, Rhino.fi can still facilitate
                    the refund of any assets given a failed AML check or
                    unsupported tokens being received; please contact your
                    Customer Support Manager for assistance in this situation.
              additionalProperties: false
        required: true
      responses:
        '200':
          description: ConnectedSingleBridgeQuoteResponseSchema
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: >-
                      #/components/schemas/ConnectedSingleBridgeQuoteResponseSchema
                  - $ref: >-
                      #/components/schemas/ConnectedBridgeSwapQuoteResponseSchema
                  - $ref: >-
                      #/components/schemas/ConnectedDepositAddressBridgeQuoteResponseSchema
        '400':
          description: The request did not match the expected schema
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/HttpApiDecodeError'
                  - $ref: '#/components/schemas/InvalidJwt'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '404':
          description: NoRouteFoundError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NoRouteFoundError'
        '422':
          description: WithdrawLimitReached
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/WithdrawLimitReached'
                  - $ref: '#/components/schemas/DepositLimitReached'
                  - $ref: '#/components/schemas/GasBoostGreaterThanReceiveAmount'
                  - $ref: '#/components/schemas/NegativeReceiveAmount'
                  - $ref: '#/components/schemas/InvalidRequest'
                  - $ref: '#/components/schemas/SwapLimitReached'
                  - $ref: '#/components/schemas/NoCommonBridgeTokensError'
                  - $ref: '#/components/schemas/NoBridgeTokenFoundError'
                  - $ref: '#/components/schemas/SdaDepositLimitExceeded'
                  - $ref: '#/components/schemas/SdaDepositBelowMinimum'
                  - $ref: '#/components/schemas/SameChainSwapNotAvailable'
      security:
        - bearer: []
        - legacyApiKey: []
components:
  schemas:
    BooleanFromString:
      type: string
      enum:
        - 'true'
        - 'false'
      description: a string to be decoded into a boolean
    ExtendedPostBridgeData:
      type: object
      required:
        - _tag
        - vaultId
      properties:
        _tag:
          type: string
          enum:
            - extended
        vaultId:
          $ref: '#/components/schemas/NonNegative'
          description: A variable relating to the specific post bridge action.
          title: int
          type: integer
      additionalProperties: false
    StarkwareBtcfiCampaignPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - starkwarebtcfi
      additionalProperties: false
    WirexWrapPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - wirexwrap
      additionalProperties: false
    WirexWrapSandboxPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - wirexwrapsandbox
      additionalProperties: false
    StarkwareBtcfiCampaignV2PostBridgeData:
      type: object
      required:
        - _tag
        - spans
      properties:
        _tag:
          type: string
          enum:
            - starkwarebtcfiv2
        spans:
          type: array
          items:
            $ref: '#/components/schemas/StarknetFelt'
          description: A variable relating to the specific post bridge action.
          title: maxItems(70)
          maxItems: 70
      additionalProperties: false
    AaveV3SupplyPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - aavev3supply
      additionalProperties: false
    RocketFoundationDepositPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - rocketfoundationdeposit
      additionalProperties: false
    MapleDepositPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - mapledeposit
      additionalProperties: false
    EtherfiDepositPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - etherfideposit
      additionalProperties: false
    ConnectedSingleBridgeQuoteResponseSchema:
      type: object
      required:
        - _tag
        - chainIn
        - chainOut
        - payAmount
        - payAmountUsd
        - receiveAmount
        - receiveAmountUsd
        - fees
        - token
        - depositor
        - recipient
        - expiresAt
        - quoteId
        - flowCredits
      properties:
        _tag:
          type: string
          enum:
            - bridge
        chainIn:
          type: string
          description: >-
            The blockchain that the tokens will be bridged from, e.g.
            "ETHEREUM".
        chainOut:
          type: string
          description: The blockchain that the tokens will be bridged to, e.g. "AVALANCHE".
        payAmount:
          type: string
          description: >-
            The value of the tokens that will be sent on the chainIn,
            denominated in the token as a human-readable decimal amount (e.g.
            "1.5"), not the smallest unit / wei.
        payAmountUsd:
          type: number
          description: The USD value of the tokens that will be sent on the chainIn.
        receiveAmount:
          type: string
          description: >-
            The value of the tokens that will be sent on the chainOut,
            denominated in the token as a human-readable decimal amount (e.g.
            "1.5"), not the smallest unit / wei.
        receiveAmountUsd:
          type: number
          description: The USD value of the tokens that will be sent on the chainOut.
        fees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - percentageFeeAmount
            - percentageFeeThreshold
          properties:
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            percentageFeeAmount:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: >-
                Represents the %-based Client Surcharge which has been applied,
                based on percentageFeeThreshold. E.g. where there is a Client
                Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to
                $10,000, if the transaction amount is $500 then this
                percentageFeeAmount will be 0.05.
            percentageFeeThreshold:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: >-
                Represents the lower bound of any threshold-based setup which
                the percentageFee is being applied for. E.g. where there is a
                Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2%
                up to $10,000, if the transaction amount is $500 then this
                percentageFeeThreshold will be 0.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction in token units.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
          additionalProperties: false
          description: >-
            Contains information about the fee structure of the transaction. The
            fields should be read differently depending on whether the client is
            a "legacy" or "PAYG/subscription tier" client.
        promotion:
          type: object
          required:
            - name
            - maxLimitUsd
          properties:
            name:
              type: string
              description: The name of the promotion applied to this quote.
            maxLimitUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: >-
                The maximum USD value of a transaction that this promotion
                applies to. Null where the promotion has no upper limit.
          additionalProperties: false
          description: Promotion details if applicable (optional).
        gasBoost:
          type: object
          required:
            - amountNative
            - amountNativeUsd
            - amountNativeTokenCost
          properties:
            amountNative:
              type: string
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that will
                be delivered to the user's wallet on the destination chain.
            amountNativeUsd:
              type: number
              description: The estimated value, in USD, of the amountNative.
            amountNativeTokenCost:
              type: string
              description: >-
                The cost applied by Rhino.fi for enabling this Gas Boost
                functionality. This will be deducted from the tokens on the
                chainOut.
          additionalProperties: false
          description: >-
            Functionality provided by Rhino.fi to deliver a small amount of
            native gas token to the destination address, ensuring that further
            transactions from this address can be made immediately.
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
          description: >-
            Provides information about whether the transaction should be
            completed "fast" (typically under 30 seconds), "standard" (typically
            under a minute) or "slow" (can be up to 20 minutes). For more
            information on our bridge processing speeds please read this article
            on the Rhino.fi Knowledge Base:
            https://learn.rhino.fi/articles/8257872655-bridge-speed.
        estimatedDuration:
          type: number
          description: The estimated time for the transaction to complete in milliseconds.
          title: nonNegative
          minimum: 0
        token:
          type: string
          description: The asset that will be received on the chainOut.
        depositor:
          type: string
          description: >-
            The address on the chainIn that will be sending the tokens for
            bridging, e.g. "0x1234...Abc".
        recipient:
          type: string
          description: >-
            The address on the chainOut that will be receiving the bridged
            tokens, e.g. "0x1234...Abc".
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
          description: >-
            Custom Routing Rules as configured by Rhino.fi for specific clients,
            e.g. to move funds after the initial bridge into a yield bearing
            vault. To understand more about how Routing Rules can help automate
            onchain actions and ensure that your funds land in an active state,
            please contact your Rhino.fi Customer Success Manager or speak to a
            member of the Rhino.fi sales team.
        webhookUrl:
          type: string
          description: >-
            A URL that success or failure events related to this bridging
            transaction should be sent to, e.g.
            "https://client.com/rhino-webhook".
        expiresAt:
          type: string
          description: >-
            The datetime that the quote is valid until. After this time it will
            fail if submitted through the `POST /quote/commit/{quoteId}`
            endpoint.
        quoteId:
          type: string
          description: >-
            The unique identifier of this quote. Submit this in the `POST
            /quote/commit/{quoteId}` endpoint to commit the quote.
        flowCredits:
          type: number
          description: >-
            The number of Flow Credits that this transaction will use from the
            client's agreed Rhino.fi PAYG/Subscription tier.
      additionalProperties: false
    ConnectedBridgeSwapQuoteResponseSchema:
      type: object
      required:
        - _tag
        - chainIn
        - chainOut
        - payAmount
        - payAmountUsd
        - receiveAmount
        - receiveAmountUsd
        - fees
        - tokenIn
        - tokenOut
        - bridgeToken
        - bridgePayAmount
        - bridgePayAmountUsd
        - bridgeReceiveAmount
        - minReceiveAmount
        - minReceiveAmountUsd
        - usdPriceTokenIn
        - usdPriceTokenOut
        - depositor
        - recipient
        - expiresAt
        - quoteId
        - flowCredits
      properties:
        _tag:
          type: string
          enum:
            - bridgeSwap
        chainIn:
          type: string
          description: >-
            The blockchain that the tokens will be bridged from, e.g.
            "ETHEREUM".
        chainOut:
          type: string
          description: The blockchain that the tokens will be bridged to, e.g. "AVALANCHE".
        payAmount:
          type: string
          description: >-
            The value of the tokens that will be sent on the chainIn,
            denominated in the token as a human-readable decimal amount (e.g.
            "1.5"), not the smallest unit / wei.
        payAmountUsd:
          type: number
          description: The USD value of the tokens that will be sent on the chainIn.
        receiveAmount:
          type: string
          description: >-
            The value of the tokens that will be sent on the chainOut,
            denominated in the token as a human-readable decimal amount (e.g.
            "1.5"), not the smallest unit / wei.
        receiveAmountUsd:
          type: number
          description: The USD value of the tokens that will be sent on the chainOut.
        fees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - percentageFeeAmount
            - percentageFeeThreshold
          properties:
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            percentageFeeAmount:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: >-
                Represents the %-based Client Surcharge which has been applied,
                based on percentageFeeThreshold. E.g. where there is a Client
                Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to
                $10,000, if the transaction amount is $500 then this
                percentageFeeAmount will be 0.05.
            percentageFeeThreshold:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: >-
                Represents the lower bound of any threshold-based setup which
                the percentageFee is being applied for. E.g. where there is a
                Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2%
                up to $10,000, if the transaction amount is $500 then this
                percentageFeeThreshold will be 0.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction in token units.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
          additionalProperties: false
          description: >-
            Contains information about the fee structure of the transaction. The
            fields should be read differently depending on whether the client is
            a "legacy" or "PAYG/subscription tier" client.
        promotion:
          type: object
          required:
            - name
            - maxLimitUsd
          properties:
            name:
              type: string
              description: The name of the promotion applied to this quote.
            maxLimitUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: >-
                The maximum USD value of a transaction that this promotion
                applies to. Null where the promotion has no upper limit.
          additionalProperties: false
          description: Promotion details if applicable (optional).
        gasBoost:
          type: object
          required:
            - amountNative
            - amountNativeUsd
            - amountNativeTokenCost
          properties:
            amountNative:
              type: string
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that will
                be delivered to the user's wallet on the destination chain.
            amountNativeUsd:
              type: number
              description: The estimated value, in USD, of the amountNative.
            amountNativeTokenCost:
              type: string
              description: >-
                The cost applied by Rhino.fi for enabling this Gas Boost
                functionality. This will be deducted from the tokens on the
                chainOut.
          additionalProperties: false
          description: >-
            Functionality provided by Rhino.fi to deliver a small amount of
            native gas token to the destination address, ensuring that further
            transactions from this address can be made immediately.
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
          description: >-
            Provides information about whether the transaction should be
            completed "fast" (typically under 30 seconds), "standard" (typically
            under a minute) or "slow" (can be up to 20 minutes). For more
            information on our bridge processing speeds please read this article
            on the Rhino.fi Knowledge Base:
            https://learn.rhino.fi/articles/8257872655-bridge-speed.
        estimatedDuration:
          type: number
          description: The estimated time for the transaction to complete in milliseconds.
          title: nonNegative
          minimum: 0
        tokenIn:
          type: string
          description: Token symbol or identifier being sent from the source chain.
        tokenOut:
          type: string
          description: Token symbol or identifier being received on the destination chain.
        bridgeToken:
          type: string
          description: Intermediate token used for the bridge operation.
        bridgePayAmount:
          type: string
          description: Amount of bridge token that will be used in the bridge transaction.
        bridgePayAmountUsd:
          type: number
          description: USD equivalent value of the bridge pay amount.
        bridgeReceiveAmount:
          type: string
          description: Amount of bridge token expected to be received after bridging.
        minReceiveAmount:
          type: string
          description: >-
            Minimum amount of tokenOut guaranteed to be received (slippage
            protection).
        minReceiveAmountUsd:
          type: number
          description: USD equivalent value of the minimum receive amount.
        usdPriceTokenIn:
          type: number
          description: USD price of the input token at the time of quote.
        usdPriceTokenOut:
          type: number
          description: USD price of the output token at the time of quote.
        isAtomicSwap:
          type: boolean
          description: Whether this is an atomic swap operation (optional).
        depositor:
          type: string
          description: >-
            The address on the chainIn that will be sending the tokens for
            bridging, e.g. "0x1234...Abc".
        recipient:
          type: string
          description: >-
            The address on the chainOut that will be receiving the bridged
            tokens, e.g. "0x1234...Abc".
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
          description: >-
            Custom Routing Rules as configured by Rhino.fi for specific clients,
            e.g. to move funds after the initial bridge into a yield bearing
            vault. To understand more about how Routing Rules can help automate
            onchain actions and ensure that your funds land in an active state,
            please contact your Rhino.fi Customer Success Manager or speak to a
            member of the Rhino.fi sales team.
        webhookUrl:
          type: string
          description: >-
            A URL that success or failure events related to this bridging
            transaction should be sent to, e.g.
            "https://client.com/rhino-webhook".
        expiresAt:
          type: string
          description: >-
            The datetime that the quote is valid until. After this time it will
            fail if submitted through the `POST /quote/commit/{quoteId}`
            endpoint.
        quoteId:
          type: string
          description: >-
            The unique identifier of this quote. Submit this in the `POST
            /quote/commit/{quoteId}` endpoint to commit the quote.
        flowCredits:
          type: number
          description: >-
            The number of Flow Credits that this transaction will use from the
            client's agreed Rhino.fi PAYG/Subscription tier.
      additionalProperties: false
    ConnectedDepositAddressBridgeQuoteResponseSchema:
      type: object
      required:
        - _tag
        - chainIn
        - chainOut
        - payAmount
        - payAmountUsd
        - receiveAmount
        - receiveAmountUsd
        - fees
        - token
        - depositor
        - recipient
        - expiresAt
        - quoteId
        - flowCredits
      properties:
        _tag:
          type: string
          enum:
            - depositAddressBridge
        chainIn:
          type: string
          description: >-
            The blockchain that the tokens will be bridged from, e.g.
            "ETHEREUM".
        chainOut:
          type: string
          description: The blockchain that the tokens will be bridged to, e.g. "AVALANCHE".
        payAmount:
          type: string
          description: >-
            The value of the tokens that will be sent on the chainIn,
            denominated in the token as a human-readable decimal amount (e.g.
            "1.5"), not the smallest unit / wei.
        payAmountUsd:
          type: number
          description: The USD value of the tokens that will be sent on the chainIn.
        receiveAmount:
          type: string
          description: >-
            The value of the tokens that will be sent on the chainOut,
            denominated in the token as a human-readable decimal amount (e.g.
            "1.5"), not the smallest unit / wei.
        receiveAmountUsd:
          type: number
          description: The USD value of the tokens that will be sent on the chainOut.
        fees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - percentageFeeAmount
            - percentageFeeThreshold
          properties:
            fee:
              type: string
              description: >-
                The total cost of the transaction as paid by the end customer,
                denominated in the token.
            feeUsd:
              type: number
              description: The total cost, in USD, of the transaction.
            gasFee:
              type: string
              description: >-
                Any chain specific costs charged to the end customer for the
                chainOut part of the overall transaction. Further information
                about which chains have these associated costs can be found
                here:
                https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                If these costs are being paid by the client then this value will
                be zero and the gasFee and gasFeeUsd in the sponsored fee body
                will be non-zero.
            gasFeeUsd:
              type: number
              description: The gasFee value, in USD.
            sourceGasFee:
              type: string
              description: >-
                The cost on the chainIn to sweep the received tokens into
                Rhino.fi's control. For legacy clients this is deducted from the
                tokens sent on the chainOut. For PAYG/Subscription tier clients
                this is paid by Rhino.fi as part of the PAYG/Subscription
                monthly cost so no direct cost is passed onto the end customer,
                unless configured this way. This is only relevant for
                transactions involving a Rhino.fi Smart Deposit Address; for
                bridging/swapping-only activity the sourceGasFee will be paid
                directly by the customer within their depositing transaction.
            sourceGasFeeUsd:
              type: number
              description: The sourceGasFee value, in USD.
            platformFee:
              type: string
              description: >-
                The resulting fee charged from the $-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            platformFeeUsd:
              type: number
              description: The platformFee value, in USD.
            percentageFee:
              type: string
              description: >-
                The resulting fee charged from the %-based Client Surcharge.
                This is applicable to both legacy and PAYG/Subscription clients.
                For legacy clients this is deducted from the tokens sent on the
                chainOut and will be sent to the client at month end. For
                PAYG/Subscription clients this will be rebated at month end.
            percentageFeeUsd:
              type: number
              description: The percentageFee value, in USD.
            percentageFeeAmount:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: >-
                Represents the %-based Client Surcharge which has been applied,
                based on percentageFeeThreshold. E.g. where there is a Client
                Surcharge of 0.5% for a transaction up to $1,000 and 0.2% up to
                $10,000, if the transaction amount is $500 then this
                percentageFeeAmount will be 0.05.
            percentageFeeThreshold:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: >-
                Represents the lower bound of any threshold-based setup which
                the percentageFee is being applied for. E.g. where there is a
                Client Surcharge of 0.5% for a transaction up to $1,000 and 0.2%
                up to $10,000, if the transaction amount is $500 then this
                percentageFeeThreshold will be 0.
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
              properties:
                fee:
                  type: string
                  description: The total cost of the transaction in token units.
                feeUsd:
                  type: number
                  description: The total cost of the transaction, in USD.
                gasFee:
                  type: string
                  description: >-
                    Any chain specific costs charged to the client for the
                    chainOut part of the overall transaction. Further
                    information about which chains have these associated costs
                    can be found here:
                    https://learn.rhino.fi/articles/7749894324-tron-and-solana-onchain-gas-costs.
                    If these costs are being passed on to the end user then this
                    value will be zero and the gasFee and gasFeeUsd in the main
                    fee body will be non-zero.
                gasFeeUsd:
                  type: number
                  description: The gasFee value, in USD.
                sourceGasFee:
                  type: string
                  description: >-
                    The cost on the chainIn to sweep the received tokens into
                    Rhino.fi's control. For legacy clients this is deducted from
                    the tokens sent on the chainOut. For PAYG/Subscription tier
                    clients this is paid by Rhino.fi as part of the
                    PAYG/Subscription monthly cost so no direct cost is passed
                    onto the client, unless configured to be passed onto the end
                    customer. This is only relevant for transactions involving a
                    Rhino.fi Smart Deposit Address; for bridging/swapping-only
                    activity the sourceGasFee will be paid directly by the
                    customer within their depositing transaction.
                sourceGasFeeUsd:
                  type: number
                  description: The sourceGasFee value, in USD.
                platformFee:
                  type: string
                  description: >-
                    The value of any additional fee levied on top by Rhino.fi
                    and paid by the client. This is only relevant for legacy
                    clients.
                platformFeeUsd:
                  type: number
                  description: The platformFee value, in USD.
                percentageFee:
                  type: string
                  description: >-
                    Will be zero since this represents a charge levied on the
                    end customer by the client. To understand the value charged
                    to the end customer, the percentageFee value from the main
                    fee body should be used. N.B. for PAYG/Subscription clients
                    this is now referred to as the "Client Surcharge".
                percentageFeeUsd:
                  type: number
                  description: The percentageFee value, in USD.
              additionalProperties: false
              description: >-
                For both legacy and PAYG/Subscription clients, represents the
                fees that are paid by the client on behalf of the end customer.
          additionalProperties: false
          description: >-
            Contains information about the fee structure of the transaction. The
            fields should be read differently depending on whether the client is
            a "legacy" or "PAYG/subscription tier" client.
        promotion:
          type: object
          required:
            - name
            - maxLimitUsd
          properties:
            name:
              type: string
              description: The name of the promotion applied to this quote.
            maxLimitUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: >-
                The maximum USD value of a transaction that this promotion
                applies to. Null where the promotion has no upper limit.
          additionalProperties: false
          description: Promotion details if applicable (optional).
        gasBoost:
          type: object
          required:
            - amountNative
            - amountNativeUsd
            - amountNativeTokenCost
          properties:
            amountNative:
              type: string
              description: >-
                The amount of native gas token (e.g. ETH, MATIC, BNB) that will
                be delivered to the user's wallet on the destination chain.
            amountNativeUsd:
              type: number
              description: The estimated value, in USD, of the amountNative.
            amountNativeTokenCost:
              type: string
              description: >-
                The cost applied by Rhino.fi for enabling this Gas Boost
                functionality. This will be deducted from the tokens on the
                chainOut.
          additionalProperties: false
          description: >-
            Functionality provided by Rhino.fi to deliver a small amount of
            native gas token to the destination address, ensuring that further
            transactions from this address can be made immediately.
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
          description: >-
            Provides information about whether the transaction should be
            completed "fast" (typically under 30 seconds), "standard" (typically
            under a minute) or "slow" (can be up to 20 minutes). For more
            information on our bridge processing speeds please read this article
            on the Rhino.fi Knowledge Base:
            https://learn.rhino.fi/articles/8257872655-bridge-speed.
        estimatedDuration:
          type: number
          description: The estimated time for the transaction to complete in milliseconds.
          title: nonNegative
          minimum: 0
        token:
          type: string
          description: The asset that will be received on the chainOut.
        depositor:
          type: string
          description: >-
            The address on the chainIn that will be sending the tokens for
            bridging, e.g. "0x1234...Abc".
        recipient:
          type: string
          description: >-
            The address on the chainOut that will be receiving the bridged
            tokens, e.g. "0x1234...Abc".
        postBridgeData:
          anyOf:
            - $ref: '#/components/schemas/ExtendedPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapPostBridgeData'
            - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
            - $ref: '#/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData'
            - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
            - $ref: '#/components/schemas/RocketFoundationDepositPostBridgeData'
            - $ref: '#/components/schemas/MapleDepositPostBridgeData'
            - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
          description: >-
            Custom Routing Rules as configured by Rhino.fi for specific clients,
            e.g. to move funds after the initial bridge into a yield bearing
            vault. To understand more about how Routing Rules can help automate
            onchain actions and ensure that your funds land in an active state,
            please contact your Rhino.fi Customer Success Manager or speak to a
            member of the Rhino.fi sales team.
        webhookUrl:
          type: string
          description: >-
            A URL that success or failure events related to this bridging
            transaction should be sent to, e.g.
            "https://client.com/rhino-webhook".
        expiresAt:
          type: string
          description: >-
            The datetime that the quote is valid until. After this time it will
            fail if submitted through the `POST /quote/commit/{quoteId}`
            endpoint.
        quoteId:
          type: string
          description: >-
            The unique identifier of this quote. Submit this in the `POST
            /quote/commit/{quoteId}` endpoint to commit the quote.
        flowCredits:
          type: number
          description: >-
            The number of Flow Credits that this transaction will use from the
            client's agreed Rhino.fi PAYG/Subscription tier.
      additionalProperties: false
    HttpApiDecodeError:
      type: object
      required:
        - issues
        - message
        - _tag
      properties:
        issues:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
        message:
          type: string
        _tag:
          type: string
          enum:
            - HttpApiDecodeError
      additionalProperties: false
      description: The request did not match the expected schema
    InvalidJwt:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - InvalidJwt
      additionalProperties: false
    Unauthorized:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - Unauthorized
      additionalProperties: false
    NoRouteFoundError:
      type: object
      required:
        - tokenIn
        - tokenOut
        - chainIn
        - chainOut
        - _tag
      properties:
        tokenIn:
          type: string
        tokenOut:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        _tag:
          type: string
          enum:
            - NoRouteFoundError
      additionalProperties: false
    WithdrawLimitReached:
      type: object
      required:
        - token
        - chain
        - receiveAmount
        - maxWithdrawAmount
        - _tag
      properties:
        token:
          type: string
        chain:
          type: string
        receiveAmount:
          $ref: '#/components/schemas/BigDecimal'
        maxWithdrawAmount:
          $ref: '#/components/schemas/BigDecimal'
        _tag:
          type: string
          enum:
            - WithdrawLimitReached
      additionalProperties: false
    DepositLimitReached:
      type: object
      required:
        - token
        - chain
        - payAmount
        - maxDepositAmount
        - _tag
      properties:
        token:
          type: string
        chain:
          type: string
        payAmount:
          $ref: '#/components/schemas/BigDecimal'
        maxDepositAmount:
          $ref: '#/components/schemas/BigDecimal'
        payAmountUsd:
          $ref: '#/components/schemas/BigDecimal'
        maxDepositAmountUsd:
          $ref: '#/components/schemas/BigDecimal'
        _tag:
          type: string
          enum:
            - DepositLimitReached
      additionalProperties: false
    GasBoostGreaterThanReceiveAmount:
      type: object
      required:
        - amountNativeTokenCost
        - receiveAmount
        - _tag
      properties:
        amountNativeTokenCost:
          type: string
        receiveAmount:
          type: string
        _tag:
          type: string
          enum:
            - GasBoostGreaterThanReceiveAmount
      additionalProperties: false
    NegativeReceiveAmount:
      type: object
      required:
        - receiveAmount
        - _tag
      properties:
        receiveAmount:
          type: string
        _tag:
          type: string
          enum:
            - NegativeReceiveAmount
      additionalProperties: false
    InvalidRequest:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - InvalidRequest
      additionalProperties: false
    SwapLimitReached:
      type: object
      required:
        - market
        - message
        - _tag
      properties:
        market:
          $ref: '#/components/schemas/NonEmptyString'
        message:
          $ref: '#/components/schemas/NonEmptyString'
        _tag:
          type: string
          enum:
            - SwapLimitReached
      additionalProperties: false
    NoCommonBridgeTokensError:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - NoCommonBridgeTokensError
      additionalProperties: false
    NoBridgeTokenFoundError:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - NoBridgeTokenFoundError
      additionalProperties: false
    SdaDepositLimitExceeded:
      type: object
      required:
        - token
        - chainIn
        - chainOut
        - payAmountUsd
        - maxDepositAmountUsd
        - _tag
      properties:
        token:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        payAmountUsd:
          $ref: '#/components/schemas/BigDecimal'
        maxDepositAmountUsd:
          $ref: '#/components/schemas/BigDecimal'
        _tag:
          type: string
          enum:
            - SdaDepositLimitExceeded
      additionalProperties: false
    SdaDepositBelowMinimum:
      type: object
      required:
        - token
        - chainIn
        - chainOut
        - payAmountUsd
        - minDepositAmountUsd
        - _tag
      properties:
        token:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        payAmountUsd:
          $ref: '#/components/schemas/BigDecimal'
        minDepositAmountUsd:
          $ref: '#/components/schemas/BigDecimal'
        _tag:
          type: string
          enum:
            - SdaDepositBelowMinimum
      additionalProperties: false
    SameChainSwapNotAvailable:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - SameChainSwapNotAvailable
      additionalProperties: false
    NonNegative:
      type: number
      description: a non-negative number
      title: nonNegative
      minimum: 0
    StarknetFelt:
      type: string
      description: a string that will be trimmed
    BigDecimalFromNumber:
      type: number
      description: a number to be decoded into a BigDecimal
    Issue:
      type: object
      required:
        - _tag
        - path
        - message
      properties:
        _tag:
          type: string
          enum:
            - Pointer
            - Unexpected
            - Missing
            - Composite
            - Refinement
            - Transformation
            - Type
            - Forbidden
          description: The tag identifying the type of parse issue
        path:
          type: array
          items:
            $ref: '#/components/schemas/PropertyKey'
          description: The path to the property where the issue occurred
        message:
          type: string
          description: A descriptive message explaining the issue
      additionalProperties: false
      description: >-
        Represents an error encountered while parsing a value to match the
        schema
    BigDecimal:
      type: string
      description: a string to be decoded into a BigDecimal
    NonEmptyString:
      type: string
      description: a non empty string
      title: nonEmptyString
      minLength: 1
    PropertyKey:
      anyOf:
        - type: string
        - type: number
        - type: object
          required:
            - _tag
            - key
          properties:
            _tag:
              type: string
              enum:
                - symbol
            key:
              type: string
          additionalProperties: false
          description: an object to be decoded into a globally shared symbol
  securitySchemes:
    bearer:
      description: JWT token for authentication
      type: http
      scheme: bearer
    legacyApiKey:
      type: apiKey
      name: authorization
      in: header

````