---
title: "Create RFQ Batch Quote"
method: POST
path: "/communications/rfq_batches/{rfq_batch_id}/quotes"
tags: ["communications"]
---

# Create RFQ Batch Quote

`POST /communications/rfq_batches/{rfq_batch_id}/quotes`

## Request

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

Quote every child RFQ of an RFQ batch, each exactly once. Each child is accepted from the maker bidding best on the requester's side, with ties going to the earliest bid, so you may win some children and not others; you then confirm the children you won. A new batch quote replaces your previous one on the same batch, and a child resent at an unchanged price keeps its time priority. A batch quote can win children only within 30 seconds of when you last sent it, so resend it to stay eligible.

## Path parameters

- `rfq_batch_id` string, required

## Request body

- CreateRFQBatchQuoteRequest
  - `quotes` RFQBatchQuoteEntry[], required: Prices for every child RFQ of the batch, one entry per child.
    - `rfq_id` string, required: UUID of the child RFQ to price. Pass it unchanged; malformed IDs return HTTP 400.
    - `yes_bid` string, required: 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.
    - `no_bid` string, required: 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, required: Whether to rest the remainder of each child quote after execution
  - `post_only` boolean: If true, your resting orders are cancelled rather than crossed if they would take liquidity. Defaults to false.
  - `subaccount` integer: Optional subaccount number to place the batch quote under (0 for primary, 1-63 for subaccounts)

## Response `201`

Batch quote created successfully

- CreateRFQBatchQuoteResponse
  - `id` string, required: UUID of the newly created batch quote. Pass it unchanged in subsequent requests.

## Other responses

- `400`: Bad request - invalid input
- `401`: Unauthorized - authentication required
- `403`: Forbidden - insufficient permissions
- `404`: Resource not found
- `409`: Conflict - resource already exists or cannot be modified
- `500`: Internal server error

## Changes

- **2026-10-21** `f060c10fe3ab`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/kalshi/apis/kalshi-trade-api-manual-endpoints/changes/communications/rfq_batches/:rfq_batch_id/quotes/post.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)
