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

# Beta - Multi Quotes

> Returns a candidate array per order, mirroring the candidate resolution the
multi-exchange create flow runs — CEX STANDARD + private two-leg, no DEX.



## OpenAPI

````yaml https://api-partner.houdiniswap.com/v2/openapi.json post /quotes/multi
openapi: 3.0.0
info:
  title: houdiniswap-backend
  version: 2.1.2
  description: Houdiniswap Backend
  license:
    name: ISC
  contact: {}
servers:
  - url: https://api-partner.houdiniswap.com/v2
security: []
paths:
  /quotes/multi:
    post:
      tags:
        - Quotes
      summary: Beta - Multi Quotes
      description: >-
        Returns a candidate array per order, mirroring the candidate resolution
        the

        multi-exchange create flow runs — CEX STANDARD + private two-leg, no
        DEX.
      operationId: GetMultiQuotes
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MultiQuoteRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MultiQuoteResult'
        '404':
          description: Token not found or disabled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - apiKey: []
components:
  schemas:
    MultiQuoteRequest:
      properties:
        orders:
          items:
            $ref: '#/components/schemas/MultiQuoteOrderItem'
          type: array
          minItems: 1
          maxItems: 10
        filters:
          $ref: '#/components/schemas/QuoteFilters'
          description: Provider filters applied to every order in the batch.
        mode:
          $ref: '#/components/schemas/MultiQuoteMode'
          description: >-
            How many of the submitted orders to quote. `all` (the default)
            quotes

            every order; `single` quotes only the first order and returns the
            rest

            with `quoted: false`. See MultiQuoteMode for the full behaviour.
        batched:
          type: boolean
          description: >-
            Resolve distinct order tuples concurrently (bounded) when true
            (default),

            or sequentially when false. POC knob for latency benchmarking.
      required:
        - orders
      type: object
      additionalProperties: false
    MultiQuoteResult:
      properties:
        mode:
          $ref: '#/components/schemas/MultiQuoteMode'
        batched:
          type: boolean
        orders:
          items:
            $ref: '#/components/schemas/MultiQuoteOrderResult'
          type: array
      required:
        - mode
        - batched
        - orders
      type: object
      additionalProperties: false
    ErrorResponse:
      properties:
        message:
          type: string
        code:
          type: string
        requestId:
          type: string
      required:
        - message
        - code
      type: object
      additionalProperties: false
    ValidationError:
      properties:
        message:
          type: string
        code:
          type: string
        requestId:
          type: string
        fields:
          $ref: '#/components/schemas/FieldErrors'
      required:
        - message
        - code
        - fields
      type: object
      additionalProperties: false
    MultiQuoteOrderItem:
      description: A single order to quote within a POST /quotes/multi batch.
      properties:
        from:
          type: string
          description: >-
            Token ID from which the swap is initiated. Must be a MongoDB
            ObjectId (24-char hex string).
          example: 6689b73ec90e45f3b3e51564
          minLength: 24
          maxLength: 24
        to:
          type: string
          description: >-
            Token ID to which the swap is directed. Must be a MongoDB ObjectId
            (24-char hex string).
          example: 6689b73ec90e45f3b3e51558
          minLength: 24
          maxLength: 24
        amount:
          type: number
          format: double
          description: >-
            Input amount as a decimal float in the token's display units. Must
            be > 0.
          minimum: 0
        anonymous:
          type: boolean
          description: Use anonymous (private) routing for this order.
        useXmr:
          type: boolean
          description: Force XMR as the anonymous bridge token.
      required:
        - from
        - to
        - amount
      type: object
      additionalProperties: false
    QuoteFilters:
      properties:
        onlySwaps:
          items:
            type: string
          type: array
        rotatePayoutWallets:
          type: boolean
        deviationThreshold:
          type: number
          format: double
          minimum: 0
          maximum: 100
        rotationLookback:
          type: integer
          format: int32
          minimum: 1
          maximum: 100
        inLeg:
          $ref: '#/components/schemas/LegFilter'
        outLeg:
          $ref: '#/components/schemas/LegFilter'
      type: object
      additionalProperties: false
    MultiQuoteMode:
      type: string
      enum:
        - all
        - single
      description: >-
        Controls how many of the submitted orders are individually quoted.

        - `all` (default): every order is quoted and returns its own array of
          candidate routes.
        - `single`: only the first order is quoted; the remaining orders come
        back
          with `quoted: false` and no candidates — a lighter, faster preview for
          when quoting the whole batch is too slow.
    MultiQuoteOrderResult:
      description: Per-order quote result envelope; `quotes` is empty when `error` is set.
      properties:
        index:
          type: number
          format: double
          description: Index of this order in the request `orders` array.
        quoted:
          type: boolean
          description: False when the order was not individually quoted (single mode).
        total:
          type: number
          format: double
          description: Number of candidate quotes returned for this order.
        quotes:
          items:
            $ref: '#/components/schemas/QuoteV2'
          type: array
        error:
          $ref: '#/components/schemas/MultiQuoteOrderError'
      required:
        - index
        - quoted
        - total
        - quotes
      type: object
      additionalProperties: false
    FieldErrors:
      properties: {}
      type: object
      additionalProperties:
        properties:
          value: {}
          message:
            type: string
        required:
          - message
        type: object
    LegFilter:
      properties:
        include:
          items:
            type: string
          type: array
        exclude:
          items:
            type: string
          type: array
      type: object
      additionalProperties: false
    QuoteV2:
      properties:
        swap:
          type: string
        quoteId:
          type: string
        duration:
          type: number
          format: double
        providerEta:
          type: number
          format: double
        gas:
          type: number
          format: double
        gasUsd:
          type: number
          format: double
        amountIn:
          type: number
          format: double
        amountOut:
          type: number
          format: double
        amountOutUsd:
          type: number
          format: double
        amountInUsd:
          type: number
          format: double
        feeUsd:
          type: number
          format: double
        bridgeFeeUsd:
          type: number
          format: double
        netAmountOut:
          type: number
          format: double
        error:
          type: string
        swapName:
          type: string
        type:
          $ref: '#/components/schemas/QuoteType'
        filtered:
          type: boolean
          default: false
        filteredReason:
          $ref: '#/components/schemas/FilteredReason'
        supportsSignatures:
          type: boolean
        logoUrl:
          type: string
        markupSupported:
          type: boolean
        slippageSupported:
          type: boolean
        apiMarkupValue:
          type: number
          format: double
        markupType:
          type: string
          enum:
            - absolute
            - percentage
            - bp
        restrictedCountries:
          items:
            type: string
          type: array
        rewardsAvailable:
          type: boolean
        min:
          type: number
          format: double
        max:
          type: number
          format: double
        minOut:
          type: number
          format: double
        maxOut:
          type: number
          format: double
        rateId:
          type: string
        fixed:
          type: boolean
        validUntil:
          type: string
        requiresApproval:
          type: boolean
        isPriority:
          type: boolean
        refundAddress:
          type: string
        amountType:
          type: string
          enum:
            - send
            - receive
      type: object
      additionalProperties: false
    MultiQuoteOrderError:
      properties:
        message:
          type: string
        code:
          anyOf:
            - type: string
            - type: number
              format: double
      required:
        - message
      type: object
      additionalProperties: false
    QuoteType:
      enum:
        - private
        - standard
        - dex
      type: string
    FilteredReason:
      enum:
        - price_impact
        - different_recipient
      type: string
  securitySchemes:
    apiKey:
      type: apiKey
      name: Authorization
      in: header

````