---
title: "Create RFQ"
method: POST
path: "/communications/rfqs"
tags: ["communications"]
---

# Create RFQ

`POST /communications/rfqs`

## Request

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

Endpoint for creating a new RFQ. You can have a maximum of 100 open RFQs at a time.

## Request body

- CreateRFQRequest
  - `market_ticker` string, required: The ticker of the market for which to create an RFQ
  - `contracts` integer: Whole-contract count for the RFQ. Use contracts_fp for partial contract values; if both are provided, they must match.
  - `contracts_fp` string: 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_centi_cents` integer: DEPRECATED: The target cost for the RFQ in centi-cents. Use target_cost_dollars instead.
  - `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: Sizes quotes against the target cost as principal only (contracts = target cost / price), with your taker fees charged on top of the target cost. By default (false) the target cost caps principal plus Kalshi fees, and quote sizes are reduced to make room for the fees. Only valid together with a target cost.
  - `obscure_creator_id` boolean: Replace the RFQ creator's public communications ID with a shared empty-input SHA-256 hash for other users. Applies to RFQ responses and broadcasts, and to quotes before successful execution. Successful execution reveals the normal ID in subsequent RFQ responses and in the executed quote. Accepting or confirming a quote does not reveal the ID. The creator always sees their normal ID. See the RFQ guide for the placeholder and visibility rules.
  - `rest_remainder` boolean, required: Whether to rest the remainder of the RFQ after execution
  - `replace_existing` boolean: Whether to delete existing RFQs as part of this RFQ's creation
  - `subtrader_id` string: The subtrader to create the RFQ for (FCM members only)
  - `subaccount` integer: The subaccount number to create the RFQ for (direct members only; 0 for primary, 1-63 for subaccounts)

## Response `201`

RFQ created successfully

- CreateRFQResponse
  - `id` string, required: UUID of the newly created RFQ. Pass it unchanged in subsequent requests.

## Other responses

- `400`: Bad request - invalid input
- `401`: Unauthorized - authentication required
- `409`: Conflict - resource already exists or cannot be modified
- `500`: Internal server error

## Changes

- **2026-09-29** `dde105932d49`: 1 info
  - added the new optional request property `obscure_creator_id`
- **2026-09-08** `c68a2add4c0a`: 1 info
  - added the new optional request property `target_cost_excludes_fees`
- **2026-07-31** `a07481be8bf9`: 4 warning
  - removed the optional property `service` from the response with the `400` status
  - removed the optional property `service` from the response with the `401` status
  - removed the optional property `service` from the response with the `409` status
  - removed the optional property `service` from the response with the `500` status
- **2026-02-14** `d4973326079e`: 1 info
  - added the new optional request property `subaccount`
- **2026-01-30** `c2d717743574`: 2 info
  - added the new optional request property `target_cost_dollars`
  - request property `target_cost_centi_cents` deprecated

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