> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.0x.org/llms.txt.
> For full documentation content, see https://docs.0x.org/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.0x.org/_mcp/server.

# getQuote (Allowance Holder)

GET https://api.0x.org/swap/allowance-holder/quote

Get the firm quote for a swap using Allowance Holder to set allowances

Reference: https://docs.0x.org/api-reference/0-x-api/swap/allowanceholder-getquote

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: 0x API
  version: 1.0.0
paths:
  /swap/allowance-holder/quote:
    get:
      operationId: allowanceholder-getquote
      summary: getQuote (Allowance Holder)
      description: Get the firm quote for a swap using Allowance Holder to set allowances
      tags:
        - subpackage_swap
      parameters:
        - name: chainId
          in: query
          description: >-
            Chain ID. See
            [here](https://docs.0x.org/docs/introduction/supported-chains) for
            the list of supported chains
          required: true
          schema:
            type: integer
        - name: buyToken
          in: query
          description: The contract address of the token to buy
          required: true
          schema:
            type: string
        - name: sellToken
          in: query
          description: The contract address of the token to sell
          required: true
          schema:
            type: string
        - name: sellAmount
          in: query
          description: The amount of `sellToken` in `sellToken` base units to sell
          required: false
          schema:
            type: string
        - name: buyAmount
          in: query
          description: The exact amount of `buyToken` in `buyToken` base units to buy
          required: false
          schema:
            type: string
        - name: taker
          in: query
          description: >-
            The address which holds the `sellToken` balance and has the
            allowance set for the swap
          required: true
          schema:
            type: string
        - name: txOrigin
          in: query
          description: >-
            The address of the external account that started the transaction.
            This is only needed if `taker` is a smart contract.
          required: false
          schema:
            type: string
        - name: recipient
          in: query
          description: >-
            The address to receive the `buyToken`. If not provided, defaults to
            the taker address. Not supported for wrap/unwrap operations.
          required: false
          schema:
            type: string
        - name: swapFeeRecipient
          in: query
          description: >-
            The wallet address to receive the specified trading fees (supports
            single or multiple comma-separated values). You must also specify
            the `swapFeeBps` in the request to use this feature. When multiple
            values are provided, must match length of `swapFeeBps`.
          required: false
          schema:
            type: string
        - name: swapFeeBps
          in: query
          description: >-
            The amount in Bps of the `swapFeeToken` to charge and deliver to the
            `swapFeeRecipient` (supports single or multiple comma-separated
            values). You must also specify the `swapFeeRecipient` in the request
            to use this feature. For security, this field has a default limit of
            1000 Bps. If your application requires a higher value, please reach
            out to us.
          required: false
          schema:
            type: string
        - name: swapFeeToken
          in: query
          description: >-
            The contract address of the token to receive trading fees in
            (supports single or multiple comma-separated values). Each token
            must be set to the value of either the `buyToken` or the
            `sellToken`. If omitted, the fee token will be determined by 0x with
            preference to stablecoins and highly liquid assets. You must also
            specify the `swapFeeRecipient` and `swapFeeBps` to charge integrator
            fees. When multiple values are provided, must match length of
            `swapFeeBps`.
          required: false
          schema:
            type: string
        - name: tradeSurplusRecipient
          in: query
          description: >-
            The address to receive any trade surplus. If specified, this address
            will receive trade surplus when applicable. Otherwise, the taker
            will receive the surplus. This feature is only available to selected
            integrators on a custom pricing plan. In other cases, the surplus
            will be collected by 0x. For assistance with a custom plan, please
            contact support.
          required: false
          schema:
            type: string
        - name: tradeSurplusMaxBps
          in: query
          description: >-
            The maximum trade surplus (positive slippage) that can be collected
            in Bps of the buy amount. If not provided, defaults to 10000 (100%).
            Must be used together with `tradeSurplusRecipient`.
          required: false
          schema:
            type: integer
        - name: gasPrice
          in: query
          description: >-
            The target gas price (in wei) for the swap transaction. If not
            provided, the default value is based on the 0x gas price oracle
          required: false
          schema:
            type: string
        - name: slippageBps
          in: query
          description: >-
            The maximum acceptable slippage of the `buyToken` in Bps. If this
            parameter is set to 0, no slippage will be tolerated. If not
            provided, the default slippage tolerance is 100Bps
          required: false
          schema:
            type: integer
        - name: slippagePpm
          in: query
          description: >-
            The maximum acceptable slippage of the `buyToken` in
            parts-per-million (PPM). Mutually exclusive with `slippageBps`. e.g.
            3000 PPM = 30 BPS = 0.30%.
          required: false
          schema:
            type: integer
        - name: excludedSources
          in: query
          description: >-
            Liquidity sources e.g. Uniswap_V3, SushiSwap, 0x_RFQ to exclude from
            the provided quote. `See
            https://api.0x.org/sources?chainId=<chain_id>` with the desired
            chain's ID for a full list of sources. Separate multiple sources
            with a comma
          required: false
          schema:
            type: string
        - name: sellEntireBalance
          in: query
          description: >-
            If set to `true`, the taker's entire `sellToken` balance will be
            sold during trade execution. The `sellAmount` should be the maximum
            estimated value, as close as possible to the actual taker's balance
            to ensure the best routing. Selling more than the `sellAmount` may
            cause the trade to revert. This feature is designed for cases where
            the precise sell amount is determined during execution. Learn more
            [here](https://docs.0x.org/docs/0x-swap-api/additional-topics/sell-entire-balance).
          required: false
          schema:
            $ref: >-
              #/components/schemas/SwapAllowanceHolderQuoteGetParametersSellEntireBalance
        - name: wrapUnwrapMode
          in: query
          description: >-
            Controls how native wrap/unwrap trades are executed. `direct` calls
            the wrapped-native token contract directly. `settler` routes
            wrap/unwrap through Settler or Allowance Holder for compatibility.
            Ignored for non-wrap/unwrap swaps. If omitted, `direct` mode is
            used.
          required: false
          schema:
            $ref: >-
              #/components/schemas/SwapAllowanceHolderQuoteGetParametersWrapUnwrapMode
        - name: 0x-api-key
          in: header
          description: Visit dashboard.0x.org to get your API Key
          required: true
          schema:
            type: string
        - name: 0x-version
          in: header
          description: API version
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Swap_allowanceholderGetquote_Response_200'
        '400':
          description: 400 error response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Swap::allowanceHolder::getQuoteRequestBadRequestError
        '403':
          description: 403 error response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Swap::allowanceHolder::getQuoteRequestForbiddenError
        '422':
          description: 422 error response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Swap::allowanceHolder::getQuoteRequestUnprocessableEntityError
        '500':
          description: 500 error response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Swap::allowanceHolder::getQuoteRequestInternalServerError
servers:
  - url: https://api.0x.org
components:
  schemas:
    SwapAllowanceHolderQuoteGetParametersSellEntireBalance:
      type: string
      enum:
        - 'true'
        - 'false'
      default: 'false'
      title: SwapAllowanceHolderQuoteGetParametersSellEntireBalance
    SwapAllowanceHolderQuoteGetParametersWrapUnwrapMode1:
      type: string
      enum:
        - direct
        - settler
      title: SwapAllowanceHolderQuoteGetParametersWrapUnwrapMode1
    SwapAllowanceHolderQuoteGetParametersWrapUnwrapMode:
      oneOf:
        - description: Any type
        - $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetParametersWrapUnwrapMode1
      title: SwapAllowanceHolderQuoteGetParametersWrapUnwrapMode
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesIntegratorFeeType:
      type: string
      enum:
        - volume
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesIntegratorFeeType
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesIntegratorFee:
      type: object
      properties:
        amount:
          type: string
          description: The amount of token charged as the integrator fee
        token:
          type: string
          description: The address of the token charged as the integrator fee
        type:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesIntegratorFeeType
      required:
        - amount
        - token
        - type
      description: The specified fee to charge and deliver to the `swapFeeRecipient`.
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesIntegratorFee
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesIntegratorFeesItemsType:
      type: string
      enum:
        - volume
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesIntegratorFeesItemsType
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesIntegratorFeesItems:
      type: object
      properties:
        amount:
          type: string
          description: The amount of token charged as the integrator fee
        token:
          type: string
          description: The address of the token charged as the integrator fee
        type:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesIntegratorFeesItemsType
      required:
        - amount
        - token
        - type
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesIntegratorFeesItems
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesZeroExFeeType:
      type: string
      enum:
        - volume
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesZeroExFeeType
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesZeroExFee:
      type: object
      properties:
        amount:
          type: string
          description: The amount of token charged as the 0x fee
        token:
          type: string
          description: The address of the token charged as the 0x fee
        type:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesZeroExFeeType
      required:
        - amount
        - token
        - type
      description: The fee charged by 0x for the trade.
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesZeroExFee
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesGasFeeType:
      type: string
      enum:
        - gas
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesGasFeeType
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesGasFee:
      type: object
      properties:
        amount:
          type: string
          description: The amount of token charged as the gas fee
        token:
          type: string
          description: The address of the token charged as the gas fee
        type:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesGasFeeType
      required:
        - amount
        - token
        - type
      description: The gas fee to be used in submitting the transaction.
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesGasFee
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Fees:
      type: object
      properties:
        integratorFee:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesIntegratorFee
            - type: 'null'
          description: The specified fee to charge and deliver to the `swapFeeRecipient`.
        integratorFees:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesIntegratorFeesItems
          description: The specified fees to charge and deliver to the `swapFeesRecipient`.
        zeroExFee:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesZeroExFee
            - type: 'null'
          description: The fee charged by 0x for the trade.
        gasFee:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0FeesGasFee
            - type: 'null'
          description: The gas fee to be used in submitting the transaction.
      required:
        - integratorFee
        - integratorFees
        - zeroExFee
        - gasFee
      description: >-
        Fees to be deducted in this transaction. It contains the
        `integratorFee`, `zeroExFee` and `gasFee`
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Fees
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0IssuesAllowance:
      type: object
      properties:
        actual:
          type: string
          description: The `taker`'s current allowance of the `spender`
        spender:
          type: string
          description: The address to set the allowance on
      required:
        - actual
        - spender
      description: >-
        Details of allowances that the `taker` must set for in order to execute
        the swap successfully. Null if no allowance is required
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0IssuesAllowance
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0IssuesBalance:
      type: object
      properties:
        token:
          type: string
          description: The contract address of the `sellToken`
        actual:
          type: string
          description: The current balance of the `sellToken` in the `taker` address
        expected:
          type: string
          description: >-
            The balance of the `sellToken` required for the swap to execute
            successfully
      required:
        - token
        - actual
        - expected
      description: >-
        Details of balance of the `sellToken` that the `taker` must hold. Null
        if the `taker` has sufficient balance
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0IssuesBalance
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Issues:
      type: object
      properties:
        allowance:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0IssuesAllowance
            - type: 'null'
          description: >-
            Details of allowances that the `taker` must set for in order to
            execute the swap successfully. Null if no allowance is required
        balance:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0IssuesBalance
            - type: 'null'
          description: >-
            Details of balance of the `sellToken` that the `taker` must hold.
            Null if the `taker` has sufficient balance
        simulationIncomplete:
          type: boolean
          description: >-
            This is set to `true` when 0x cannot validate the transaction. This
            happens when the `taker` has an insufficient balance of the
            `sellToken` and 0x is unable to peform ehanced quote validation with
            the low balance. Note that this does not necessarily mean that the
            trade will revert
        invalidSourcesPassed:
          type: array
          items:
            type: string
          description: >-
            A list of invalid sources present in `excludedSources` request. See
            `https://api.0x.org/sources?chainId=` with the desired chain's ID
            for the list of valid sources
      required:
        - allowance
        - balance
        - simulationIncomplete
        - invalidSourcesPassed
      description: >-
        An object containing potential issues discovered during 0x validation
        that can prevent the swap from being executed successfully by the
        `taker`
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Issues
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Mode:
      type: string
      enum:
        - exact-in
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Mode
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0RouteFillsItems:
      type: object
      properties:
        from:
          type: string
          description: The contract address of the input token
        to:
          type: string
          description: The contract address of the output token
        source:
          type: string
          description: The liquidity source used in the route
        proportionBps:
          type: string
          description: The proportion of the trade to be filled by the `source`
      required:
        - from
        - to
        - source
        - proportionBps
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0RouteFillsItems
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0RouteTokensItems:
      type: object
      properties:
        address:
          type: string
          description: The token address. This is the unique identifier of the token
        symbol:
          type: string
          description: >-
            The token symbol. This is not guaranteed to be unique, as multiple
            tokens can have the same symbol
      required:
        - address
        - symbol
      description: Properties of the tokens involved in the swap
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0RouteTokensItems
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Route:
      type: object
      properties:
        fills:
          type: array
          items:
            $ref: >-
              #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0RouteFillsItems
          description: Details of each segment that 0x routes the swap through
        tokens:
          type: array
          items:
            $ref: >-
              #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0RouteTokensItems
          description: Properties of the tokens involved in the swap
      required:
        - fills
        - tokens
      description: The path of liquidity sources to be used in executing this swap
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Route
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataBuyTokenBuyTaxBps:
      type: object
      properties: {}
      description: >-
        The buy tax in bps of the token. Since each token could have arbitrary
        implementation, this field is best effort, meaning it would be set to
        `null` if the system is not able to determine the tax
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataBuyTokenBuyTaxBps
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataBuyTokenSellTaxBps:
      type: object
      properties: {}
      description: >-
        The sell tax in bps of the token. Since each token could have arbitrary
        implementation, this field is best effort, meaning it would be set to
        `null` if the system is not able to determine the tax
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataBuyTokenSellTaxBps
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataBuyTokenTransferTaxBps:
      type: object
      properties: {}
      description: >-
        The transfer tax in bps of the token. Since each token could have
        arbitrary implementation, this field is best effort, meaning it would be
        set to `null` if the system is not able to determine the tax
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataBuyTokenTransferTaxBps
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataBuyToken:
      type: object
      properties:
        buyTaxBps:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataBuyTokenBuyTaxBps
            - type: 'null'
          description: >-
            The buy tax in bps of the token. Since each token could have
            arbitrary implementation, this field is best effort, meaning it
            would be set to `null` if the system is not able to determine the
            tax
        sellTaxBps:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataBuyTokenSellTaxBps
            - type: 'null'
          description: >-
            The sell tax in bps of the token. Since each token could have
            arbitrary implementation, this field is best effort, meaning it
            would be set to `null` if the system is not able to determine the
            tax
        transferTaxBps:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataBuyTokenTransferTaxBps
            - type: 'null'
          description: >-
            The transfer tax in bps of the token. Since each token could have
            arbitrary implementation, this field is best effort, meaning it
            would be set to `null` if the system is not able to determine the
            tax
      required:
        - buyTaxBps
        - sellTaxBps
        - transferTaxBps
      description: Swap-related metadata for the buy token
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataBuyToken
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataSellTokenBuyTaxBps:
      type: object
      properties: {}
      description: >-
        The buy tax in bps of the token. Since each token could have arbitrary
        implementation, this field is best effort, meaning it would be set to
        `null` if the system is not able to determine the tax
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataSellTokenBuyTaxBps
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataSellTokenSellTaxBps:
      type: object
      properties: {}
      description: >-
        The sell tax in bps of the token. Since each token could have arbitrary
        implementation, this field is best effort, meaning it would be set to
        `null` if the system is not able to determine the tax
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataSellTokenSellTaxBps
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataSellTokenTransferTaxBps:
      type: object
      properties: {}
      description: >-
        The transfer tax in bps of the token. Since each token could have
        arbitrary implementation, this field is best effort, meaning it would be
        set to `null` if the system is not able to determine the tax
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataSellTokenTransferTaxBps
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataSellToken:
      type: object
      properties:
        buyTaxBps:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataSellTokenBuyTaxBps
            - type: 'null'
          description: >-
            The buy tax in bps of the token. Since each token could have
            arbitrary implementation, this field is best effort, meaning it
            would be set to `null` if the system is not able to determine the
            tax
        sellTaxBps:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataSellTokenSellTaxBps
            - type: 'null'
          description: >-
            The sell tax in bps of the token. Since each token could have
            arbitrary implementation, this field is best effort, meaning it
            would be set to `null` if the system is not able to determine the
            tax
        transferTaxBps:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataSellTokenTransferTaxBps
            - type: 'null'
          description: >-
            The transfer tax in bps of the token. Since each token could have
            arbitrary implementation, this field is best effort, meaning it
            would be set to `null` if the system is not able to determine the
            tax
      required:
        - buyTaxBps
        - sellTaxBps
        - transferTaxBps
      description: Swap-related metadata for the sell token
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataSellToken
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadata:
      type: object
      properties:
        buyToken:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataBuyToken
          description: Swap-related metadata for the buy token
        sellToken:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadataSellToken
          description: Swap-related metadata for the sell token
      required:
        - buyToken
        - sellToken
      description: Swap-related metadata for the buy and sell token in the swap
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadata
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TotalNetworkFee:
      type: object
      properties: {}
      description: >-
        The estimated total network cost of the swap. On chains where there is
        no L1 data cost, it is calculated as `gas` * `gasPrice`. On chains where
        there is an L1 data cost, it is calculated as `gas` * `gasPrice` + L1
        data cost.
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TotalNetworkFee
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TransactionGas:
      type: object
      properties: {}
      description: >-
        The estimated gas limit that should be used to send the transaction to
        guarantee settlement
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TransactionGas
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Transaction:
      type: object
      properties:
        to:
          type: string
          description: >-
            The address of the target contract to send call `data` to. Do NOT
            use this field when setting token allowances — doing so can result
            in lost funds. Always use `issues.allowance.spender` or
            `allowanceTarget` for setting allowances.
        data:
          type: string
          description: >-
            The calldata containing transaction execution details to be sent to
            the `to` address
        gas:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TransactionGas
            - type: 'null'
          description: >-
            The estimated gas limit that should be used to send the transaction
            to guarantee settlement
        gasPrice:
          type: string
          description: The gas price (in wei) that should be used to send the transaction
        value:
          type: string
          description: >-
            The amount of ether (in wei) that should be sent with the
            transaction
      required:
        - to
        - data
        - gas
        - gasPrice
        - value
      description: This object contains the details required to submit the transaction
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Transaction
    SwapAllowanceholderGetquoteResponse20000:
      type: object
      properties:
        allowanceTarget:
          type:
            - string
            - 'null'
          description: >-
            The target contract address for which the `taker` needs to have an
            allowance in order to be able to complete the swap. For swaps with
            the native asset (ie "ETH" or "BNB") as the `sellToken`, wrapping
            the native asset (i.e. "ETH" to "WETH") or unwrapping, no allowance
            is needed
        blockNumber:
          type: string
          description: >-
            The block number at which the liquidity sources were sampled to
            generate the quote. This indicates the freshness of the quote
        buyAmount:
          type: string
          description: >-
            The amount of `buyToken` (in `buyToken` units) that will be bought
            in the swap
        buyToken:
          type: string
          description: The contract address of the token to buy in the swap
        fees:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Fees
          description: >-
            Fees to be deducted in this transaction. It contains the
            `integratorFee`, `zeroExFee` and `gasFee`
        issues:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Issues
          description: >-
            An object containing potential issues discovered during 0x
            validation that can prevent the swap from being executed
            successfully by the `taker`
        liquidityAvailable:
          type: boolean
          description: >-
            This validates the availability of liquidity for the quote
            requested. The rest of the fields will only be returned if `true`
        minBuyAmount:
          type: string
          description: >-
            The price which must be met or else the entire transaction will
            revert. This price is influenced by the `slippageBps` parameter.
            On-chain sources may encounter price movements from quote to
            settlement
        mode:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Mode
        route:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Route
          description: The path of liquidity sources to be used in executing this swap
        sellAmount:
          type: string
          description: >-
            The amount of `sellToken` (in `sellToken` units) that will be sold
            in this swap
        sellToken:
          type: string
          description: The contract address of the token to sell in the swap
        tokenMetadata:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TokenMetadata
          description: Swap-related metadata for the buy and sell token in the swap
        totalNetworkFee:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0TotalNetworkFee
            - type: 'null'
          description: >-
            The estimated total network cost of the swap. On chains where there
            is no L1 data cost, it is calculated as `gas` * `gasPrice`. On
            chains where there is an L1 data cost, it is calculated as `gas` *
            `gasPrice` + L1 data cost.
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
        transaction:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf0Transaction
          description: This object contains the details required to submit the transaction
      required:
        - allowanceTarget
        - blockNumber
        - buyAmount
        - buyToken
        - fees
        - issues
        - liquidityAvailable
        - minBuyAmount
        - mode
        - route
        - sellAmount
        - sellToken
        - tokenMetadata
        - totalNetworkFee
        - zid
        - transaction
      title: SwapAllowanceholderGetquoteResponse20000
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesIntegratorFeeType:
      type: string
      enum:
        - volume
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesIntegratorFeeType
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesIntegratorFee:
      type: object
      properties:
        amount:
          type: string
          description: The amount of token charged as the integrator fee
        token:
          type: string
          description: The address of the token charged as the integrator fee
        type:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesIntegratorFeeType
      required:
        - amount
        - token
        - type
      description: The specified fee to charge and deliver to the `swapFeeRecipient`.
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesIntegratorFee
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesIntegratorFeesItemsType:
      type: string
      enum:
        - volume
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesIntegratorFeesItemsType
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesIntegratorFeesItems:
      type: object
      properties:
        amount:
          type: string
          description: The amount of token charged as the integrator fee
        token:
          type: string
          description: The address of the token charged as the integrator fee
        type:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesIntegratorFeesItemsType
      required:
        - amount
        - token
        - type
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesIntegratorFeesItems
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesZeroExFeeType:
      type: string
      enum:
        - volume
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesZeroExFeeType
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesZeroExFee:
      type: object
      properties:
        amount:
          type: string
          description: The amount of token charged as the 0x fee
        token:
          type: string
          description: The address of the token charged as the 0x fee
        type:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesZeroExFeeType
      required:
        - amount
        - token
        - type
      description: The fee charged by 0x for the trade.
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesZeroExFee
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Fees:
      type: object
      properties:
        integratorFee:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesIntegratorFee
            - type: 'null'
          description: The specified fee to charge and deliver to the `swapFeeRecipient`.
        integratorFees:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesIntegratorFeesItems
          description: The specified fees to charge and deliver to the `swapFeesRecipient`.
        zeroExFee:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1FeesZeroExFee
            - type: 'null'
          description: The fee charged by 0x for the trade.
      required:
        - integratorFee
        - integratorFees
        - zeroExFee
      description: Fees to be deducted in this transaction.
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Fees
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1IssuesAllowance:
      type: object
      properties:
        actual:
          type: string
          description: The `taker`'s current allowance of the `spender`
        spender:
          type: string
          description: The address to set the allowance on
      required:
        - actual
        - spender
      description: >-
        Details of allowances that the `taker` must set for in order to execute
        the swap successfully. Null if no allowance is required
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1IssuesAllowance
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1IssuesBalance:
      type: object
      properties:
        token:
          type: string
          description: The contract address of the `sellToken`
        actual:
          type: string
          description: The current balance of the `sellToken` in the `taker` address
        expected:
          type: string
          description: >-
            The balance of the `sellToken` required for the swap to execute
            successfully
      required:
        - token
        - actual
        - expected
      description: >-
        Details of balance of the `sellToken` that the `taker` must hold. Null
        if the `taker` has sufficient balance
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1IssuesBalance
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Issues:
      type: object
      properties:
        allowance:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1IssuesAllowance
            - type: 'null'
          description: >-
            Details of allowances that the `taker` must set for in order to
            execute the swap successfully. Null if no allowance is required
        balance:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1IssuesBalance
            - type: 'null'
          description: >-
            Details of balance of the `sellToken` that the `taker` must hold.
            Null if the `taker` has sufficient balance
        simulationIncomplete:
          type: boolean
          description: >-
            This is set to `true` when 0x cannot validate the transaction. This
            happens when the `taker` has an insufficient balance of the
            `sellToken` and 0x is unable to peform ehanced quote validation with
            the low balance. Note that this does not necessarily mean that the
            trade will revert
        invalidSourcesPassed:
          type: array
          items:
            type: string
          description: >-
            A list of invalid sources present in `excludedSources` request. See
            `https://api.0x.org/sources?chainId=` with the desired chain's ID
            for the list of valid sources
      required:
        - allowance
        - balance
        - simulationIncomplete
        - invalidSourcesPassed
      description: >-
        An object containing potential issues discovered during 0x validation
        that can prevent the swap from being executed successfully by the
        `taker`
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Issues
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Mode:
      type: string
      enum:
        - exact-out
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Mode
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesForwardFillsItems:
      type: object
      properties:
        from:
          type: string
          description: The contract address of the input token
        to:
          type: string
          description: The contract address of the output token
        source:
          type: string
          description: The liquidity source used in the route
        proportionBps:
          type: string
          description: The proportion of the trade to be filled by the `source`
      required:
        - from
        - to
        - source
        - proportionBps
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesForwardFillsItems
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesForwardTokensItems:
      type: object
      properties:
        address:
          type: string
          description: The token address. This is the unique identifier of the token
        symbol:
          type: string
          description: >-
            The token symbol. This is not guaranteed to be unique, as multiple
            tokens can have the same symbol
      required:
        - address
        - symbol
      description: Properties of the tokens involved in the swap
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesForwardTokensItems
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesForward:
      type: object
      properties:
        fills:
          type: array
          items:
            $ref: >-
              #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesForwardFillsItems
          description: Details of each segment that 0x routes the swap through
        tokens:
          type: array
          items:
            $ref: >-
              #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesForwardTokensItems
          description: Properties of the tokens involved in the swap
      required:
        - fills
        - tokens
      description: The forward route used to acquire at least the requested buy amount
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesForward
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesRefundFillsItems:
      type: object
      properties:
        from:
          type: string
          description: The contract address of the input token
        to:
          type: string
          description: The contract address of the output token
        source:
          type: string
          description: The liquidity source used in the route
        proportionBps:
          type: string
          description: The proportion of the trade to be filled by the `source`
      required:
        - from
        - to
        - source
        - proportionBps
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesRefundFillsItems
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesRefundTokensItems:
      type: object
      properties:
        address:
          type: string
          description: The token address. This is the unique identifier of the token
        symbol:
          type: string
          description: >-
            The token symbol. This is not guaranteed to be unique, as multiple
            tokens can have the same symbol
      required:
        - address
        - symbol
      description: Properties of the tokens involved in the swap
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesRefundTokensItems
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesRefund:
      type: object
      properties:
        fills:
          type: array
          items:
            $ref: >-
              #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesRefundFillsItems
          description: Details of each segment that 0x routes the swap through
        tokens:
          type: array
          items:
            $ref: >-
              #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesRefundTokensItems
          description: Properties of the tokens involved in the swap
      required:
        - fills
        - tokens
      description: >-
        The refund route used to convert buy-token surplus back to the sell
        token
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesRefund
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Routes:
      type: object
      properties:
        forward:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesForward
          description: The forward route used to acquire at least the requested buy amount
        refund:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1RoutesRefund
          description: >-
            The refund route used to convert buy-token surplus back to the sell
            token
      required:
        - forward
        - refund
      description: The exact-out forward and refund routes
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Routes
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataBuyTokenBuyTaxBps:
      type: object
      properties: {}
      description: >-
        The buy tax in bps of the token. Since each token could have arbitrary
        implementation, this field is best effort, meaning it would be set to
        `null` if the system is not able to determine the tax
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataBuyTokenBuyTaxBps
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataBuyTokenSellTaxBps:
      type: object
      properties: {}
      description: >-
        The sell tax in bps of the token. Since each token could have arbitrary
        implementation, this field is best effort, meaning it would be set to
        `null` if the system is not able to determine the tax
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataBuyTokenSellTaxBps
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataBuyTokenTransferTaxBps:
      type: object
      properties: {}
      description: >-
        The transfer tax in bps of the token. Since each token could have
        arbitrary implementation, this field is best effort, meaning it would be
        set to `null` if the system is not able to determine the tax
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataBuyTokenTransferTaxBps
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataBuyToken:
      type: object
      properties:
        buyTaxBps:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataBuyTokenBuyTaxBps
            - type: 'null'
          description: >-
            The buy tax in bps of the token. Since each token could have
            arbitrary implementation, this field is best effort, meaning it
            would be set to `null` if the system is not able to determine the
            tax
        sellTaxBps:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataBuyTokenSellTaxBps
            - type: 'null'
          description: >-
            The sell tax in bps of the token. Since each token could have
            arbitrary implementation, this field is best effort, meaning it
            would be set to `null` if the system is not able to determine the
            tax
        transferTaxBps:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataBuyTokenTransferTaxBps
            - type: 'null'
          description: >-
            The transfer tax in bps of the token. Since each token could have
            arbitrary implementation, this field is best effort, meaning it
            would be set to `null` if the system is not able to determine the
            tax
      required:
        - buyTaxBps
        - sellTaxBps
        - transferTaxBps
      description: Swap-related metadata for the buy token
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataBuyToken
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataSellTokenBuyTaxBps:
      type: object
      properties: {}
      description: >-
        The buy tax in bps of the token. Since each token could have arbitrary
        implementation, this field is best effort, meaning it would be set to
        `null` if the system is not able to determine the tax
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataSellTokenBuyTaxBps
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataSellTokenSellTaxBps:
      type: object
      properties: {}
      description: >-
        The sell tax in bps of the token. Since each token could have arbitrary
        implementation, this field is best effort, meaning it would be set to
        `null` if the system is not able to determine the tax
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataSellTokenSellTaxBps
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataSellTokenTransferTaxBps:
      type: object
      properties: {}
      description: >-
        The transfer tax in bps of the token. Since each token could have
        arbitrary implementation, this field is best effort, meaning it would be
        set to `null` if the system is not able to determine the tax
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataSellTokenTransferTaxBps
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataSellToken:
      type: object
      properties:
        buyTaxBps:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataSellTokenBuyTaxBps
            - type: 'null'
          description: >-
            The buy tax in bps of the token. Since each token could have
            arbitrary implementation, this field is best effort, meaning it
            would be set to `null` if the system is not able to determine the
            tax
        sellTaxBps:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataSellTokenSellTaxBps
            - type: 'null'
          description: >-
            The sell tax in bps of the token. Since each token could have
            arbitrary implementation, this field is best effort, meaning it
            would be set to `null` if the system is not able to determine the
            tax
        transferTaxBps:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataSellTokenTransferTaxBps
            - type: 'null'
          description: >-
            The transfer tax in bps of the token. Since each token could have
            arbitrary implementation, this field is best effort, meaning it
            would be set to `null` if the system is not able to determine the
            tax
      required:
        - buyTaxBps
        - sellTaxBps
        - transferTaxBps
      description: Swap-related metadata for the sell token
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataSellToken
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadata:
      type: object
      properties:
        buyToken:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataBuyToken
          description: Swap-related metadata for the buy token
        sellToken:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadataSellToken
          description: Swap-related metadata for the sell token
      required:
        - buyToken
        - sellToken
      description: Swap-related metadata for the buy and sell token in the swap
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadata
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TotalNetworkFee:
      type: object
      properties: {}
      description: >-
        The estimated total network cost of the swap. On chains where there is
        no L1 data cost, it is calculated as `gas` * `gasPrice`. On chains where
        there is an L1 data cost, it is calculated as `gas` * `gasPrice` + L1
        data cost.
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TotalNetworkFee
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TransactionGas:
      type: object
      properties: {}
      description: >-
        The estimated gas limit that should be used to send the transaction to
        guarantee settlement
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TransactionGas
    SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Transaction:
      type: object
      properties:
        to:
          type: string
          description: >-
            The address of the target contract to send call `data` to. Do NOT
            use this field when setting token allowances — doing so can result
            in lost funds. Always use `issues.allowance.spender` or
            `allowanceTarget` for setting allowances.
        data:
          type: string
          description: >-
            The calldata containing transaction execution details to be sent to
            the `to` address
        gas:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TransactionGas
            - type: 'null'
          description: >-
            The estimated gas limit that should be used to send the transaction
            to guarantee settlement
        gasPrice:
          type: string
          description: The gas price (in wei) that should be used to send the transaction
        value:
          type: string
          description: >-
            The amount of ether (in wei) that should be sent with the
            transaction
      required:
        - to
        - data
        - gas
        - gasPrice
        - value
      description: This object contains the details required to submit the transaction
      title: >-
        SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Transaction
    SwapAllowanceholderGetquoteResponse20001:
      type: object
      properties:
        allowanceTarget:
          type:
            - string
            - 'null'
          description: >-
            The target contract address for which the `taker` needs to have an
            allowance in order to be able to complete the swap.
        blockNumber:
          type: string
          description: >-
            The block number at which the liquidity sources were sampled to
            generate the quote. This indicates the freshness of the quote
        buyAmount:
          type: string
          description: >-
            The exact amount of `buyToken` (in `buyToken` units) requested for
            the swap
        buyToken:
          type: string
          description: The contract address of the token to buy in the swap
        estimatedNetSellAmount:
          type: string
          description: >-
            The estimated net amount of `sellToken` spent after any exact-out
            refund route executes
        fees:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Fees
          description: Fees to be deducted in this transaction.
        issues:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Issues
          description: >-
            An object containing potential issues discovered during 0x
            validation that can prevent the swap from being executed
            successfully by the `taker`
        liquidityAvailable:
          type: boolean
          description: >-
            This validates the availability of liquidity for the quote
            requested. The rest of the fields will only be returned if `true`
        mode:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Mode
        routes:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Routes
          description: The exact-out forward and refund routes
        maxSellAmount:
          type: string
          description: >-
            The maximum amount of `sellToken` that may be spent by the exact-out
            swap
        sellToken:
          type: string
          description: The contract address of the token to sell in the swap
        tokenMetadata:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TokenMetadata
          description: Swap-related metadata for the buy and sell token in the swap
        totalNetworkFee:
          oneOf:
            - $ref: >-
                #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1TotalNetworkFee
            - type: 'null'
          description: >-
            The estimated total network cost of the swap. On chains where there
            is no L1 data cost, it is calculated as `gas` * `gasPrice`. On
            chains where there is an L1 data cost, it is calculated as `gas` *
            `gasPrice` + L1 data cost.
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
        transaction:
          $ref: >-
            #/components/schemas/SwapAllowanceHolderQuoteGetResponsesContentApplicationJsonSchemaOneOf0OneOf1Transaction
          description: This object contains the details required to submit the transaction
      required:
        - allowanceTarget
        - blockNumber
        - buyAmount
        - buyToken
        - estimatedNetSellAmount
        - fees
        - issues
        - liquidityAvailable
        - mode
        - routes
        - maxSellAmount
        - sellToken
        - tokenMetadata
        - totalNetworkFee
        - zid
        - transaction
      title: SwapAllowanceholderGetquoteResponse20001
    SwapAllowanceholderGetquoteResponse2000:
      oneOf:
        - $ref: '#/components/schemas/SwapAllowanceholderGetquoteResponse20000'
        - $ref: '#/components/schemas/SwapAllowanceholderGetquoteResponse20001'
      title: SwapAllowanceholderGetquoteResponse2000
    SwapAllowanceholderGetquoteResponse2001:
      type: object
      properties:
        liquidityAvailable:
          type: boolean
          description: >-
            This validates the availability of liquidity for the quote
            requested. No other fields will be returned if it is `false`
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
      required:
        - liquidityAvailable
        - zid
      title: SwapAllowanceholderGetquoteResponse2001
    Swap_allowanceholderGetquote_Response_200:
      oneOf:
        - $ref: '#/components/schemas/SwapAllowanceholderGetquoteResponse2000'
        - $ref: '#/components/schemas/SwapAllowanceholderGetquoteResponse2001'
      title: Swap_allowanceholderGetquote_Response_200
    InputInvalidName:
      type: string
      enum:
        - INPUT_INVALID
      title: InputInvalidName
    InputInvalidDataDetailsItems:
      type: object
      properties:
        field:
          type: string
          description: The input field name
        reason:
          type: string
          description: The validation failure reason
      required:
        - field
        - reason
      title: InputInvalidDataDetailsItems
    InputInvalidData:
      type: object
      properties:
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
        details:
          type: array
          items:
            $ref: '#/components/schemas/InputInvalidDataDetailsItems'
          description: The list of invalid inputs
      required:
        - zid
        - details
      title: InputInvalidData
    INPUT_INVALID:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/InputInvalidName'
        message:
          type: string
        data:
          $ref: '#/components/schemas/InputInvalidData'
      required:
        - name
        - message
        - data
      title: INPUT_INVALID
    RecipientNotSupportedName:
      type: string
      enum:
        - RECIPIENT_NOT_SUPPORTED
      title: RecipientNotSupportedName
    RecipientNotSupportedData:
      type: object
      properties:
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
      required:
        - zid
      title: RecipientNotSupportedData
    RECIPIENT_NOT_SUPPORTED:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/RecipientNotSupportedName'
        message:
          type: string
        data:
          $ref: '#/components/schemas/RecipientNotSupportedData'
      required:
        - name
        - message
        - data
      title: RECIPIENT_NOT_SUPPORTED
    SwapValidationFailedName:
      type: string
      enum:
        - SWAP_VALIDATION_FAILED
      title: SwapValidationFailedName
    SwapValidationFailedData:
      type: object
      properties:
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
      required:
        - zid
      title: SwapValidationFailedData
    SWAP_VALIDATION_FAILED:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/SwapValidationFailedName'
        message:
          type: string
        data:
          $ref: '#/components/schemas/SwapValidationFailedData'
      required:
        - name
        - message
        - data
      title: SWAP_VALIDATION_FAILED
    TokenNotSupportedName:
      type: string
      enum:
        - TOKEN_NOT_SUPPORTED
      title: TokenNotSupportedName
    TokenNotSupportedData:
      type: object
      properties:
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
      required:
        - zid
      title: TokenNotSupportedData
    TOKEN_NOT_SUPPORTED:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/TokenNotSupportedName'
        message:
          type: string
        data:
          $ref: '#/components/schemas/TokenNotSupportedData'
      required:
        - name
        - message
        - data
      title: TOKEN_NOT_SUPPORTED
    UserNotAuthorizedName:
      type: string
      enum:
        - USER_NOT_AUTHORIZED
      title: UserNotAuthorizedName
    UserNotAuthorizedData:
      type: object
      properties:
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
      required:
        - zid
      title: UserNotAuthorizedData
    USER_NOT_AUTHORIZED:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/UserNotAuthorizedName'
        message:
          type: string
        data:
          $ref: '#/components/schemas/UserNotAuthorizedData'
      required:
        - name
        - message
        - data
      title: USER_NOT_AUTHORIZED
    Swap::allowanceHolder::getQuoteRequestBadRequestError:
      oneOf:
        - $ref: '#/components/schemas/INPUT_INVALID'
        - $ref: '#/components/schemas/RECIPIENT_NOT_SUPPORTED'
        - $ref: '#/components/schemas/SWAP_VALIDATION_FAILED'
        - $ref: '#/components/schemas/TOKEN_NOT_SUPPORTED'
        - $ref: '#/components/schemas/USER_NOT_AUTHORIZED'
      title: Swap::allowanceHolder::getQuoteRequestBadRequestError
    TakerNotAuthorizedForTradeName:
      type: string
      enum:
        - TAKER_NOT_AUTHORIZED_FOR_TRADE
      title: TakerNotAuthorizedForTradeName
    TakerNotAuthorizedForTradeData:
      type: object
      properties:
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
      required:
        - zid
      title: TakerNotAuthorizedForTradeData
    TAKER_NOT_AUTHORIZED_FOR_TRADE:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/TakerNotAuthorizedForTradeName'
        message:
          type: string
        data:
          $ref: '#/components/schemas/TakerNotAuthorizedForTradeData'
      required:
        - name
        - message
        - data
      title: TAKER_NOT_AUTHORIZED_FOR_TRADE
    RecipientNotAuthorizedForTradeName:
      type: string
      enum:
        - RECIPIENT_NOT_AUTHORIZED_FOR_TRADE
      title: RecipientNotAuthorizedForTradeName
    RecipientNotAuthorizedForTradeData:
      type: object
      properties:
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
      required:
        - zid
      title: RecipientNotAuthorizedForTradeData
    RECIPIENT_NOT_AUTHORIZED_FOR_TRADE:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/RecipientNotAuthorizedForTradeName'
        message:
          type: string
        data:
          $ref: '#/components/schemas/RecipientNotAuthorizedForTradeData'
      required:
        - name
        - message
        - data
      title: RECIPIENT_NOT_AUTHORIZED_FOR_TRADE
    XstocksNotAuthorizedName:
      type: string
      enum:
        - XSTOCKS_NOT_AUTHORIZED
      title: XstocksNotAuthorizedName
    XstocksNotAuthorizedData:
      type: object
      properties:
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
      required:
        - zid
      title: XstocksNotAuthorizedData
    XSTOCKS_NOT_AUTHORIZED:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/XstocksNotAuthorizedName'
        message:
          type: string
        data:
          $ref: '#/components/schemas/XstocksNotAuthorizedData'
      required:
        - name
        - message
        - data
      title: XSTOCKS_NOT_AUTHORIZED
    Swap::allowanceHolder::getQuoteRequestForbiddenError:
      oneOf:
        - $ref: '#/components/schemas/TAKER_NOT_AUTHORIZED_FOR_TRADE'
        - $ref: '#/components/schemas/RECIPIENT_NOT_AUTHORIZED_FOR_TRADE'
        - $ref: '#/components/schemas/XSTOCKS_NOT_AUTHORIZED'
      title: Swap::allowanceHolder::getQuoteRequestForbiddenError
    BuyTokenNotAuthorizedForTradeName:
      type: string
      enum:
        - BUY_TOKEN_NOT_AUTHORIZED_FOR_TRADE
      title: BuyTokenNotAuthorizedForTradeName
    BuyTokenNotAuthorizedForTradeData:
      type: object
      properties:
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
      required:
        - zid
      title: BuyTokenNotAuthorizedForTradeData
    BUY_TOKEN_NOT_AUTHORIZED_FOR_TRADE:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/BuyTokenNotAuthorizedForTradeName'
        message:
          type: string
        data:
          $ref: '#/components/schemas/BuyTokenNotAuthorizedForTradeData'
      required:
        - name
        - message
        - data
      title: BUY_TOKEN_NOT_AUTHORIZED_FOR_TRADE
    SellTokenNotAuthorizedForTradeName:
      type: string
      enum:
        - SELL_TOKEN_NOT_AUTHORIZED_FOR_TRADE
      title: SellTokenNotAuthorizedForTradeName
    SellTokenNotAuthorizedForTradeData:
      type: object
      properties:
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
      required:
        - zid
      title: SellTokenNotAuthorizedForTradeData
    SELL_TOKEN_NOT_AUTHORIZED_FOR_TRADE:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/SellTokenNotAuthorizedForTradeName'
        message:
          type: string
        data:
          $ref: '#/components/schemas/SellTokenNotAuthorizedForTradeData'
      required:
        - name
        - message
        - data
      title: SELL_TOKEN_NOT_AUTHORIZED_FOR_TRADE
    Swap::allowanceHolder::getQuoteRequestUnprocessableEntityError:
      oneOf:
        - $ref: '#/components/schemas/BUY_TOKEN_NOT_AUTHORIZED_FOR_TRADE'
        - $ref: '#/components/schemas/SELL_TOKEN_NOT_AUTHORIZED_FOR_TRADE'
      title: Swap::allowanceHolder::getQuoteRequestUnprocessableEntityError
    InternalServerErrorName:
      type: string
      enum:
        - INTERNAL_SERVER_ERROR
      title: InternalServerErrorName
    InternalServerErrorData:
      type: object
      properties:
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
      required:
        - zid
      title: InternalServerErrorData
    INTERNAL_SERVER_ERROR:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/InternalServerErrorName'
        message:
          type: string
        data:
          $ref: '#/components/schemas/InternalServerErrorData'
      required:
        - name
        - message
        - data
      title: INTERNAL_SERVER_ERROR
    UncategorizedName:
      type: string
      enum:
        - UNCATEGORIZED
      title: UncategorizedName
    UncategorizedData:
      type: object
      properties:
        zid:
          type: string
          description: The unique ZeroEx identifier of the request
      required:
        - zid
      title: UncategorizedData
    UNCATEGORIZED:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/UncategorizedName'
        message:
          type: string
        data:
          $ref: '#/components/schemas/UncategorizedData'
      required:
        - name
        - message
        - data
      title: UNCATEGORIZED
    Swap::allowanceHolder::getQuoteRequestInternalServerError:
      oneOf:
        - $ref: '#/components/schemas/INTERNAL_SERVER_ERROR'
        - $ref: '#/components/schemas/UNCATEGORIZED'
      title: Swap::allowanceHolder::getQuoteRequestInternalServerError

```

## SDK Code Examples

```python Swap_allowanceholderGetquote_example
import requests

url = "https://api.0x.org/swap/allowance-holder/quote"

querystring = {"chainId":"1","buyToken":"0xdac17f958d2ee523a2206206994597c13d831ec7","sellToken":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","sellAmount":"100000000","taker":"0x70a9f34f9b34c64957b9c401a97bfed35b95049e"}

headers = {
    "0x-api-key": "0x-api-key",
    "0x-version": "v2"
}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Swap_allowanceholderGetquote_example
const url = 'https://api.0x.org/swap/allowance-holder/quote?chainId=1&buyToken=0xdac17f958d2ee523a2206206994597c13d831ec7&sellToken=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&sellAmount=100000000&taker=0x70a9f34f9b34c64957b9c401a97bfed35b95049e';
const options = {method: 'GET', headers: {'0x-api-key': '0x-api-key', '0x-version': 'v2'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Swap_allowanceholderGetquote_example
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.0x.org/swap/allowance-holder/quote?chainId=1&buyToken=0xdac17f958d2ee523a2206206994597c13d831ec7&sellToken=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&sellAmount=100000000&taker=0x70a9f34f9b34c64957b9c401a97bfed35b95049e"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("0x-api-key", "0x-api-key")
	req.Header.Add("0x-version", "v2")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Swap_allowanceholderGetquote_example
require 'uri'
require 'net/http'

url = URI("https://api.0x.org/swap/allowance-holder/quote?chainId=1&buyToken=0xdac17f958d2ee523a2206206994597c13d831ec7&sellToken=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&sellAmount=100000000&taker=0x70a9f34f9b34c64957b9c401a97bfed35b95049e")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["0x-api-key"] = '0x-api-key'
request["0x-version"] = 'v2'

response = http.request(request)
puts response.read_body
```

```java Swap_allowanceholderGetquote_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.0x.org/swap/allowance-holder/quote?chainId=1&buyToken=0xdac17f958d2ee523a2206206994597c13d831ec7&sellToken=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&sellAmount=100000000&taker=0x70a9f34f9b34c64957b9c401a97bfed35b95049e")
  .header("0x-api-key", "0x-api-key")
  .header("0x-version", "v2")
  .asString();
```

```php Swap_allowanceholderGetquote_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.0x.org/swap/allowance-holder/quote?chainId=1&buyToken=0xdac17f958d2ee523a2206206994597c13d831ec7&sellToken=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&sellAmount=100000000&taker=0x70a9f34f9b34c64957b9c401a97bfed35b95049e', [
  'headers' => [
    '0x-api-key' => '0x-api-key',
    '0x-version' => 'v2',
  ],
]);

echo $response->getBody();
```

```csharp Swap_allowanceholderGetquote_example
using RestSharp;

var client = new RestClient("https://api.0x.org/swap/allowance-holder/quote?chainId=1&buyToken=0xdac17f958d2ee523a2206206994597c13d831ec7&sellToken=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&sellAmount=100000000&taker=0x70a9f34f9b34c64957b9c401a97bfed35b95049e");
var request = new RestRequest(Method.GET);
request.AddHeader("0x-api-key", "0x-api-key");
request.AddHeader("0x-version", "v2");
IRestResponse response = client.Execute(request);
```

```swift Swap_allowanceholderGetquote_example
import Foundation

let headers = [
  "0x-api-key": "0x-api-key",
  "0x-version": "v2"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.0x.org/swap/allowance-holder/quote?chainId=1&buyToken=0xdac17f958d2ee523a2206206994597c13d831ec7&sellToken=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&sellAmount=100000000&taker=0x70a9f34f9b34c64957b9c401a97bfed35b95049e")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```