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

# Create Quote Request

> A Quote Request is the start of the RFQ process. Coinbase Prime sends a Quote Request to Liquidity Providers (LPs) on behalf of a customer looking to participate in an RFQ trade.

Always required: portfolio_id, product_id, side, client_quote_id, and limit_price. One of either base_quantity or quote_value is always required.



## OpenAPI

````yaml POST /v1/portfolios/{portfolio_id}/rfq
openapi: 3.0.1
info:
  title: REST API
  description: >-
    The Coinbase Prime REST API provides programmatic access to trading,
    custody, staking, market data, and account management functionality.
  version: '0.1'
servers:
  - url: https://api.prime.coinbase.com/
security: []
tags:
  - name: PrimeRESTAPI
paths:
  /v1/portfolios/{portfolio_id}/rfq:
    post:
      tags:
        - Orders
      summary: Create Quote Request
      description: >-
        A Quote Request is the start of the RFQ process. Coinbase Prime sends a
        Quote Request to Liquidity Providers (LPs) on behalf of a customer
        looking to participate in an RFQ trade.


        Always required: portfolio_id, product_id, side, client_quote_id, and
        limit_price. One of either base_quantity or quote_value is always
        required.
      operationId: PrimeRESTAPI_CreateQuoteRequest
      parameters:
        - name: portfolio_id
          in: path
          description: The ID of the portfolio that owns the order
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              title: RFQ
              required:
                - client_quote_id
                - limit_price
                - product_id
                - side
              type: object
              properties:
                product_id:
                  title: >-
                    The ID of the product being traded for the order (e.g.
                    `BTC-USD`)
                  type: string
                side:
                  $ref: '#/components/schemas/coinbase.public_rest_api.OrderSide'
                client_quote_id:
                  title: Based off of Order
                  type: string
                  description: >-
                    A client-generated order ID used for reference purposes
                    (note: order will be rejected if this ID is not unique among
                    all currently active orders)
                  example: f69a20b1-4ac4-420e-90b5-814a12565bfa
                base_quantity:
                  title: >-
                    Order size in base asset units (either `base_quantity` or
                    `quote_value` is required)
                  type: string
                quote_value:
                  title: >-
                    Order size in quote asset units, i.e. the amount the user
                    wants to spend (when buying) or receive (when selling); the
                    quantity in base units will be determined based on the
                    market liquidity and indicated `quote_value` (either
                    `base_quantity` or `quote_value` is required)
                  type: string
                limit_price:
                  title: The limit price
                  type: string
                settl_currency:
                  title: The currency in which the settlement will be made
                  type: string
                quote_duration_ms:
                  type: string
                  description: >-
                    Optional quote timeout in milliseconds. Defaults to 3000 ms
                    (3 seconds) if not specified. Maximum allowed value is 30000
                    ms (30 seconds); requests with a larger value are rejected.
                    Mirrors FIX tag 8090 (QuoteRequestGoodForMs).
                  format: int64
                  example: '5000'
              description: based off PostOrderPreviewRequest
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/coinbase.public_rest_api.QuoteResponse'
components:
  schemas:
    coinbase.public_rest_api.OrderSide:
      title: Order side
      type: string
      description: |-
        - UNKNOWN_ORDER_SIDE: nil value
         - BUY: Buy order
         - SELL: Sell order
      enum:
        - BUY
        - SELL
    coinbase.public_rest_api.QuoteResponse:
      title: >-
        Copied from
        https://github.cbhq.net/institutional/trading/blob/3e6da61aceb64c7cbe6f0c0f8fbdb98fd3e868dc/proxy/trading/protos/coinbase/brokerage/proxy/trading/api/orderentry.proto#L366-L370
      type: object
      properties:
        quote_id:
          type: string
        expiration_time:
          type: string
          format: date-time
        best_price:
          type: string
        order_total:
          title: total quote amount for previewing
          type: string
        price_inclusive_of_fees:
          type: string
        quote_duration_ms:
          type: string
          description: >-
            Echo of the quote_duration_ms supplied in the request. 0 if the
            client did not supply a value, in which case the server applies the
            default of 3000 ms (3 seconds).
          format: int64
          example: '5000'

````