---
title: "Get RFQ Batches"
method: GET
path: "/communications/rfq_batches"
tags: ["communications"]
---

# Get RFQ Batches

`GET /communications/rfq_batches`

## Request

- Base URL: `https://external-api.kalshi.com/trade-api/v2`
- URL: `https://external-api.kalshi.com/trade-api/v2/communications/rfq_batches`
- Auth: API key in header `KALSHI-ACCESS-KEY` and API key in header `KALSHI-ACCESS-SIGNATURE` and API key in header `KALSHI-ACCESS-TIMESTAMP`

List RFQ batches, most recently updated first, each with its child RFQs in request order. A page holds at most limit batches and stops before its child RFQs would exceed 100; a batch is never split across pages. Pass pagination cursors back unchanged; a malformed cursor returns HTTP 400. Use user_filter=self to list only your own batches.

## Query parameters

- `cursor` string
- `subaccount` integer
- `limit` integer
- `status` 'open' | 'accepted' | 'closed': Status of an RFQ batch. An open batch takes batch quotes; an accepted batch is waiting for its winning makers to confirm or is executing; a closed batch is finished.
- `user_filter` 'self': Omit or leave empty to return all results. Use `self` to filter by the authenticated user.

## Response `200`

RFQ batches retrieved successfully

- GetRFQBatchesResponse
  - `rfq_batches` RFQBatch[], required: RFQ batches matching the query criteria
    - `id` string, required: UUID of the RFQ batch. Preserve the exact returned string.
    - `creator_id` string, required: Public communications ID of the batch creator, obscured for other users like RFQ.creator_id when obscure_creator_id was set. It is revealed once a child RFQ executes.
    - `status` 'open' | 'accepted' | 'closed', required: Status of an RFQ batch. An open batch takes batch quotes; an accepted batch is waiting for its winning makers to confirm or is executing; a closed batch is finished.
    - `created_ts` string, date-time, required: Timestamp when the RFQ batch was created
    - `accepted_ts` string, date-time: Timestamp when a batch quote on the batch was accepted
    - `closed_ts` string, date-time: Timestamp when the RFQ batch closed
    - `rfqs` RFQ[], required: The child RFQs, in the order they were requested
      - `id` string, required: UUID of the RFQ. Preserve the exact returned string.
      - `creator_id` string, required: Public communications ID of the RFQ creator (pseudonymous). When obscure_creator_id is enabled, other users receive the shared placeholder "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" (SHA-256 of empty input). The creator sees their normal ID. After successful quote execution, subsequent RFQ responses show the normal public communications ID to all viewers.
      - `market_ticker` string, required: The ticker of the market this RFQ is for
      - `contracts_fp` string, required: Fixed-point contract count string (2 decimals, e.g., "10.00"; referred to as "fp" in field names). Requests accept 0-2 decimal places (e.g., "10", "10.0", "10.00"); responses always emit 2 decimals. Fractional contract values (e.g., "2.50") are supported; the minimum granularity is 0.01 contracts.
      - `target_cost_dollars` string: Fixed-point US dollar string. Most request fields accept 2-4 decimal places (e.g., "0.56", "0.5600"); responses emit up to 6. Valid quote intervals for a given market are constrained by that market's price level structure.
      - `target_cost_excludes_fees` boolean: True when the target cost is principal-only and quote sizes are computed without reserving taker fees (fees are charged on top).
      - `status` 'open' | 'closed', required: Current status of the RFQ (open, closed)
      - `created_ts` string, date-time, required: Timestamp when the RFQ was created
      - `mve_collection_ticker` string: Ticker of the MVE collection this market belongs to
      - `mve_selected_legs` MveSelectedLeg[]: Selected legs for the MVE collection
        - `event_ticker` string: Unique identifier for the selected event
        - `market_ticker` string: Unique identifier for the selected market
        - `side` string: The side of the selected market
        - `yes_settlement_value_dollars` string: Fixed-point US dollar string. Most request fields accept 2-4 decimal places (e.g., "0.56", "0.5600"); responses emit up to 6. Valid quote intervals for a given market are constrained by that market's price level structure.
      - `rest_remainder` boolean: Whether to rest the remainder of the RFQ after execution
      - `cancellation_reason` string: Reason for RFQ cancellation if cancelled
      - `creator_user_id` string: User ID of the RFQ creator (private field)
      - `creator_subaccount` integer: Subaccount number of the RFQ creator (visible when the caller is the RFQ creator)
      - `cancelled_ts` string, date-time: Timestamp when the RFQ was cancelled
      - `updated_ts` string, date-time: Timestamp when the RFQ was last updated
      - `rfq_batch_id` string: Identifier of the RFQ batch this RFQ is a child of. Omitted for an RFQ outside a batch. A child can be quoted like a single RFQ, with the differences described in [Request for Quote](/getting_started/rfqs#rfq-batch-children).
    - `updated_ts` string, date-time: Timestamp when the RFQ batch was last updated (visible to the batch creator)
    - `close_reason` string: Why the RFQ batch closed, for example executed, execution failed, or cancelled. A batch closes partially executed only in the rare case that filling one child cancelled a maker order another child needed (visible to the batch creator)
    - `client_batch_id` string: The client_batch_id given at creation (visible to the batch creator)
    - `creator_user_id` string: User ID of the batch creator (private field)
    - `creator_subaccount` integer: Subaccount number of the batch creator (visible to the batch creator)
  - `cursor` string: Cursor for pagination to get the next page of results

## Other responses

- `400`: Bad request - invalid input
- `401`: Unauthorized - authentication required
- `500`: Internal server error

## Changes

- **2026-10-26** `c3b2035a5d57`: 1 info
  - added the optional property `rfq_batches/items/rfqs/items/rfq_batch_id` to the response with the `200` status
- **2026-10-21** `f060c10fe3ab`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/kalshi/apis/kalshi-trade-api-manual-endpoints/changes/communications/rfq_batches/get.md)

---

[API](https://skmtc.dev/kalshi/apis/kalshi-trade-api-manual-endpoints.md) - [All operations](https://skmtc.dev/kalshi/apis/kalshi-trade-api-manual-endpoints/llms.txt) - [OpenAPI document](https://skmtc.dev/kalshi/apis/kalshi-trade-api-manual-endpoints/revisions/e6691cdd1915?raw)
